SQL注入(SQLi)是一種注入攻擊,可以執(zhí)行惡意SQL語句。它通過將任意SQL代碼插入數據庫查詢,使攻擊
者能夠完全控制Web應用程序后面的數據庫服務器。攻擊者可以使用SQL注入漏洞繞過應用程序安全措施;可
以繞過網頁或Web應用程序的身份驗證和授權,并檢索整個SQL數據庫的內容;還可以使用SQL注入來添加,修
改和刪除數據庫中的記錄。
如何防止SQL注入攻擊?
不要使用動態(tài)SQL避免將用戶提供的輸入直接放入SQL語句中;最好使用準備好的語句和參數化查詢,這樣更安全。
不要將敏感數據保留在純文本中
加密存儲在數據庫中的私有/機密數據;這樣可以提供了另一級保護,以防攻擊者成功地排出敏感數據。
限制數據庫權限和特權
將數據庫用戶的功能設置為最低要求;這將限制攻擊者在設法獲取訪問權限時可以執(zhí)行的操作。
避免直接向用戶顯示數據庫錯誤