sql注入:利用現有應用程序,將(惡意)的SQL命令注入到後臺數據庫執行一些惡意的操作
造成SQL注入的原因是因爲程序沒有有效過濾用戶的輸入,使攻擊者成功的向服務器提交惡意的SQL查詢代碼,程序在接收後錯誤的將攻擊者的輸入作爲查詢語句的一部分執行,導致原始的查詢邏輯被改變,額外的執行了攻擊者精心構造的惡意代碼
防止策略
1.嚴格限制Web應用的數據庫的操作權限,給此用戶提供僅僅能夠滿足其工作的最低權限,從而最大限度的減少注入攻擊對數據庫的危害
2檢查輸入的數據是否具有所期望的數據格式,嚴格限制變量的類型
3.對進入數據庫的特殊字符(’” \ 尖括號 & * ;等符號)進行轉義處理,或編碼轉換。
在應用發佈之前建議使用專業的SQL注入檢測工具進行檢測,以及時修補被發現的SQL注入漏洞。網上有很多這方面的開源工具,例如sqlmap、SQLninja等。