1.如果使用開源系統(tǒng)搭建網站,數(shù)據(jù)庫結構也是公開的(目前有很多現(xiàn)成的系統(tǒng)可以直接搭建論壇 ,電商網站,雖然方便快捷但是風險是必須要認真評估的);
2.錯誤回顯(如果將服務器的錯誤信息直接顯示在頁面上,攻擊者可以通過非法參數(shù)引發(fā)頁面錯誤從而通過錯誤信息了解數(shù)據(jù)庫結構,Web 應用應當設置友好的錯誤頁,一方面符合最小驚訝原則,一方面屏蔽掉可能給系統(tǒng)帶來危險的錯誤回顯信息);
3.盲注。防范 SQL 注入攻擊也可以采用消毒的方式,通過正則表達式對請求參數(shù)進行驗證,此外, 參數(shù)綁定也是很好的手段,這樣惡意的 SQL 會被當做 SQL 的參數(shù)而不是命令被執(zhí)行,JDBC 中的 PreparedStatement 就是支持參數(shù)綁定的語句對象,從性能和安全性上都明顯優(yōu)于 Statement。
推薦閱讀: