檢測常見ASP.NET配置安全漏洞
Troy Hunt文章的分析數(shù)據(jù)來自他所開發(fā)的一個(gè)簡易網(wǎng)站掃瞄服務(wù)--ASafaWeb, Automated Security Analyser for ASP.NET Websites。使用者只要提供Internet上公開ASP.NET網(wǎng)站的URL,ASafaWeb會發(fā)出幾個(gè)Request,藉此檢查網(wǎng)站是否存在一些常見的安全漏洞。
由今年1至3月掃描過的網(wǎng)站記錄,排除掉ASafaWeb測試網(wǎng)站及非ASP.NET網(wǎng)站后共有7,184份檢測結(jié)果,Hunt做出簡單的統(tǒng)計(jì)。雖然我覺得這份結(jié)果由于是使用者主動提供網(wǎng)站進(jìn)行檢測,甚至無法排除用戶會刻意制造問題情境考驗(yàn)ASafaWeb的檢查效果,因此數(shù)據(jù)高低未必能精確反應(yīng)實(shí)際情況,但還是很有參考價(jià)值,值得我們關(guān)心一下ASP.NET有哪些常見的配置漏洞,確定自己都了解并檢查手邊網(wǎng)站有無類似狀況,絕對是件好事。以下是Hunt列出的常見ASP.NET配置安全漏洞:
- 未隱藏錯(cuò)誤訊息
開發(fā)人員常會將<customErrors mode="Off" />方便排錯(cuò),但正式上線時(shí)卻忘了移除,導(dǎo)致一旦程序出錯(cuò),相關(guān)程序代碼細(xì)節(jié)甚至程序片段就赤裸裸地展示出來。黑客可能由其中找到相關(guān)的文件位置、數(shù)據(jù)庫信息、組件版本... 等信息,提供入侵的指引。 - 關(guān)閉Request Validation
依Hunt的統(tǒng)計(jì),近30%的網(wǎng)站豪邁地關(guān)閉了全站的Request驗(yàn)證。若真有需要,針對頁面關(guān)閉就好,至少傷害面變小,但如果心有余力,避開此限制保持后門緊閉還是上策。 - 未更新Windows/IIS
去年底被揭露的HTTP POST Hash DoS漏洞,攻擊者用簡單的Request就能讓網(wǎng)站忙到死去活來,終至服務(wù)癱瘓。微軟已在2月發(fā)布補(bǔ)定,但是似乎還有50%的網(wǎng)站未完成更新。 - ELMAH存取未設(shè)限
關(guān)于ELMAH存取設(shè)定的風(fēng)險(xiǎn)之前也有文章 《大叔手記(18):利用Elmah和Google體驗(yàn)一把入侵的快感》提過,稍有不慎,程序里的秘密就會大放送,十分危險(xiǎn),甚至黑客還可能藉此偽造ASP.NET Session冒充身份,挺恐怖的。 - 未關(guān)閉Trace
雖然比例不高,但通過trace.axd黑客還是能搜集到很多重要情報(bào),上線到正式環(huán)境時(shí)記得關(guān)閉。