前幾天網(wǎng)站遭到SQL數(shù)據(jù)庫注入攻擊,我對抗了兩個(gè)通宵,終于找到一個(gè)辦法解決了。現(xiàn)在過去四天,網(wǎng)站正常,終于可以松一口氣了。
(希望那些黑客看到這里,拜托拜托,我只是想把自己的這個(gè)武岡人網(wǎng)搞好,并不表示什么其他的意思,網(wǎng)站程序是我自己亂寫的,我并不是專業(yè)的開發(fā)人員,你們也就手下留情,不要再來找我漏洞攻擊了。謝謝。)
那幾天為了防范SQL數(shù)據(jù)庫注入攻擊,整天就呆在電腦前,常常欲哭無淚,因?yàn)椴排糜直还?。后來把這個(gè)過程寫了一篇文章,發(fā)到網(wǎng)上,每天都有很多人加我QQ,要我?guī)兔鉀Q他們網(wǎng)站這個(gè)同樣的問題,這也讓我很汗顏。被別人稱為高手,而實(shí)際上我對這些并不懂的。
我只是一個(gè)自學(xué)了一點(diǎn)ASPNET技術(shù)的愛好者,并非專業(yè)的開發(fā)人員,我寫的程序也是漏洞百出的。對服務(wù)器管理,以及攻擊,防范這些都沒有接觸,舉個(gè)例子來說,人家往往問我,什么端口、協(xié)議之類的術(shù)語,我其實(shí)都不懂。
我解決武岡人網(wǎng)的攻擊問題,也是自己亂摸索出來的,同時(shí)也非常感謝有個(gè)網(wǎng)友提供了一段加在global里面的防注入代碼。下面我把我自己解決的過程詳細(xì)介紹一下。
1、在第二天,很多次恢復(fù)數(shù)據(jù)又被攻擊之后,我把數(shù)據(jù)庫用戶的權(quán)限,修改成db_datareader,修改成這個(gè),數(shù)據(jù)庫只能讀出來,不能寫進(jìn)去。之后我等了兩個(gè)小時(shí),發(fā)現(xiàn)網(wǎng)站正常,說明服務(wù)器應(yīng)該沒有問題吧,就是網(wǎng)站程序有問題。注意,如果修改成這個(gè)權(quán)限,網(wǎng)站一樣被攻擊,說明服務(wù)器肯定中毒或有木馬等問題,最好重裝。
2、盡管服務(wù)器好像沒有問題,我還是去裝了一個(gè)殺毒軟件(之前沒有裝,只有防火墻),把一些補(bǔ)丁給升級(jí)打上。
3、把一段防注入的代碼,加在Global的文件中。代碼是在網(wǎng)上找的。
4、我把所有的后臺(tái)修改了一下。之前有設(shè)成ValidateRequest="false"的,給刪除掉了。因?yàn)槲抑皩懙臅r(shí)候,圖自己排版方便,可以在后臺(tái)直接輸入HTML代碼?,F(xiàn)在碰到這個(gè)問題,只好先刪除不用,另想辦法。
5、這樣弄完之后,我再把數(shù)據(jù)庫權(quán)限,增加一個(gè)db_datawrite的權(quán)限,可以寫進(jìn)去了,再把所有的存儲(chǔ)過程的權(quán)限,一一勾上。這樣網(wǎng)站就正常使用了。
其實(shí)我就是這樣解決的。我自己總結(jié)一下,大家都說網(wǎng)站代碼有問題,對于一個(gè)初學(xué)和不成熟的程序員來說,當(dāng)然很多地方都是直接使用SQL查詢語句的,我的代碼雖然很多都是使用了參數(shù),但仍然有一些UPDATE語句,直接用上了SQL查詢語句,當(dāng)然,經(jīng)過這次教訓(xùn)之后,以后再也不敢偷懶了。所以網(wǎng)站代碼寫的時(shí)候,還是多費(fèi)一些時(shí)間,寫好一點(diǎn)。
另外就是數(shù)據(jù)庫權(quán)限,我建議最好不要使用什么SA之類的用戶,也不要把用戶設(shè)成db_owner這樣的權(quán)限。
呵呵,我就是這樣子做了,到現(xiàn)在網(wǎng)站還是正常的。
免責(zé)聲明: 本文內(nèi)容來源于黃高遠(yuǎn) ,不代表本平臺(tái)的觀點(diǎn)和立場。
版權(quán)聲明:本文內(nèi)容由注冊用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,武岡人網(wǎng)僅提供信息存儲(chǔ)服務(wù),不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲的內(nèi)容,請通過郵箱(admin@4305.cn)進(jìn)行舉報(bào),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。