問題詳情

下列情形,何者最會有SQL Injection 之虞?
(A)使用參數化查詢來設計資料存取功能
(B)使用字串聯結方式組合SQL指令
(C)開啟PHP的魔術引號功能
(D)使用SqlDataSource物件

參考答案

答案:B
難度:適中0.558559
統計:A(27),B(62),C(9),D(13),E(0)

用户評論

【用戶】Grace Chen

【年級】高二下

【評論內容】在應用程式中若有下列狀況,則可能應用程式正暴露在SQL Injection的高風險情況下:在應用程式中使用字串聯結方式組合SQL指令。在應用程式連結資料庫時使用權限過大的帳戶(例如很多開發人員都喜歡用sa(內建的最高權限的系統管理員帳戶)連接Microsoft SQL Server資料庫)。在資料庫中開放了不必要但權力過大的功能(例如在Microsoft SQL Server資料庫中的xp_cmdshell延伸預存程式或是OLE Automation預存程式等)太過於信任使用者所輸入的資料,未限制輸入的字元數,以及未對使用者輸入的資料做潛在指令的檢查。http://zh.wikipedia.org/wiki/SQL%E8%B3%87%E6%96%99%E9%9A%B1%E7%A2%BC%E6%94%BB%E6%93%8A

【用戶】william

【年級】大一下

【評論內容】SQL注入(英語:SQL injection),也稱SQL隱碼或SQL注碼,是發生於應用程式與資料庫層的安全漏洞。簡而言之,是在輸入的字串之中夾帶SQL指令,在設計不良的程式當中忽略了字元檢查,那麼這些夾帶進去的惡意指令就會被資料庫伺服器誤認為是正常的SQL指令而執行,因此遭到破壞或是入侵。[2]