民國112年 第3梯次 電腦軟體應用乙級 學科
第63題
下列何者為資料隱碼攻擊(SQL Injection)的防禦方法?
題目
下列何者為資料隱碼攻擊(SQL Injection)的防禦方法?
- (1) 不要在程式碼中標示註解
- (2) 對使用者隱藏資料庫管理系統回傳的錯誤訊息,以免攻擊者獲得有用資訊
- (3) 加強資料庫權限管理,不以系統管理員帳號連結資料庫
- (4) 對字串過濾並限制長度
官方答案
(2) 對使用者隱藏資料庫管理系統回傳的錯誤訊息,以免攻擊者獲得有用資訊、(3) 加強資料庫權限管理,不以系統管理員帳號連結資料庫、(4) 對字串過濾並限制長度
解析
SQL Injection 的根本防線是參數化查詢或預存程序,讓輸入值不被當成 SQL 指令;並搭配輸入白名單、字串過濾與長度限制。資料庫帳號應採最小權限,避免以系統管理員連線,以降低注入成功後的破壞。對使用者隱藏資料庫錯誤訊息,可避免攻擊者由錯誤內容推測資料表結構。第 1 項移除註解並非防禦,註解有無都不會阻止惡意字串被拼進查詢。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。