sql注入二 解決辦法

首先,既然網站被注入了,就得趕快恢復網站的正常運行啊!被SQL注入後就要查找所有網頁,查看網頁頭部和底部是否有<iframe src='http/XXXXXX/XXX.XX' width=0 height=0></iframe><script>%2%34%w%24%sr234%234</script>等,如果有這樣的來歷不明的代碼,一句話刪,當然這對於網頁數目不是很多的情況下較好,如果數目過多,那麼可以藉助一些工具,進行修改刪除。如果是數據庫內容被修改了,那問題就比較大了,趕快還原數據庫吧,如果沒有備份數據庫,那可就慘了。。。。

 

其次,從編程上來說,防止sql注入的方法有避免法,主動攻擊方法等。通過上一篇我們對sql注入的瞭解,明白了sql注入的方式,那麼這就好辦了,所謂解鈴還須繫鈴人,看看我們怎麼辦。。。First,在網站前臺,對於有request的網頁,對request的內容要進行判斷,如是否爲整形數據,是否爲字符,是否在一定得長度內等,也就是採取“主動攻擊”,在攻擊者要攻擊前就對其的非法請求進行屏蔽。Second,在網站後臺,對用戶輸入的數據進行過濾檢查,即檢查用戶輸入的數據是否含有非法字符,如’ @ = and or ! < >等,這裏可以通過替換(爲空格等)或刪除等策略,避免在執行sql是出現錯誤,導致系統運行異常,而暴露關鍵信息。Third,對於登陸界面的設計更要注意,儘量對密碼加密,同樣對用戶輸入的內容進行過濾等。

 

具體的代碼這裏不再多說了,對於如何過濾特殊字符的方法網上有很多(有點困了,有點懶了。。。)。。。。其實像這樣的東西,自己能寫個是最好的,以後再用的時候直接用,這就是自己的資源,自己的經驗,提高編程效率的重要手段。。。

 

 

再次,從用戶權限上來說,對於網站的文件的訪問權限合理設置,怎麼纔算是合理設置呢。把everyone權限設置爲只讀,對於指定的用戶除了對特殊文件的操作外,對於其他的文件的權限也設置爲只讀。再有就是在配置文件中儘量不要用sa用戶,更不能用sa作爲密碼,可以爲其單獨建立一個用戶並授予其相應的權限。

 

以上記錄了個人的一點歷程,說的不是很清楚,也不是很全面,見諒。。。O(_)O~

 

 

參考:http://www.secnumen.com/technology/anquanwenzhai.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章