怎樣測試程序已防止了SQL注入?
如,此網站用ID來傳送數值,如果在ID數值后面加一個SQL敏感符號,英文單引號“’”,打開此鏈接,如果出現的是瀏覽器的默認出錯提示,則需要設置瀏覽器,使其錯誤提示出現,方法為打開瀏覽器:選項—Internet選項—**,在設置里找到顯示友好的HTTP錯誤信息勾掉,確認后再刷新,如果此時出現了數據庫出錯的提示,如:Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e21',那么說明本程序并沒有防止SQL注入,反之如果只出現了如:“提醒您, URL有誤,請與管理員聯系”之類的提示,說明SQL已經防止了注入。檢測表單方法如:如提交腳本,在輸入框中輸入特殊字符如:script_等,在此不再敘述,測試者可以在網上找到很多這樣的方法。
2 驗證碼技術
為什么必須使用驗證碼?
普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內容,但網上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統上頻繁注冊,頻繁發送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術,使客戶端輸入的信息都必須經過驗證,從而可以解決這個問題。