asp.net網(wǎng)站安全從小做起與防范小結(jié)
更新時(shí)間:2008年09月09日 23:28:18 作者:
我是做asp.net網(wǎng)站開(kāi)發(fā)的,QQ群里一個(gè)網(wǎng)友的站被掛馬了。他說(shuō)讓我寫(xiě)點(diǎn)安全方面的文章。我就介紹下我的經(jīng)驗(yàn)吧,各位大牛不要拿磚頭砸我。。。
以下都以ASP.NET開(kāi)發(fā)網(wǎng)站為例。
1、sql注入漏洞。
解決辦法:使用存儲(chǔ)過(guò)程,參數(shù)不要用字符串拼接。簡(jiǎn)單改進(jìn)辦法:使用SqlHelper和OledbHelper
2、跨站腳本漏洞
解決辦法:“默認(rèn)禁止,顯式允許”的策略。具體參考:從客戶端檢測(cè)到有潛在危險(xiǎn)的Request.Form值,禁止提交html標(biāo)記(<>等被轉(zhuǎn)義成<)
3、上傳漏洞
解決辦法:禁止上傳目錄的運(yùn)行權(quán)限。只給讀取權(quán)限。另外要禁止上傳非法類型文件。不僅僅是aspx類型,包括很多,甚至htm、html類型文件也不應(yīng)該直接上傳保存。
4、數(shù)據(jù)庫(kù)連接帳號(hào),盡量使用最低權(quán)限的帳號(hào)。一定不要給管理員權(quán)限。
假如被黑客得知了數(shù)據(jù)庫(kù)的密碼。
那我們就可以執(zhí)行任意系統(tǒng)命令了。
例如:xp_cmdshell 'dir c:\'
另外還有
tasklist
taskkill
pslist
pskill
net user
net user guest /active:yes
net user hack hack /add
net user hack /del
net localgruop administrators hack /add
query user
logoff 1
這些命令是不是很恐怖?呵呵。所以一定不要給web數(shù)據(jù)庫(kù)連接帳號(hào)管理權(quán)限。
5、用戶登錄。這里不要把用戶標(biāo)識(shí)明文存儲(chǔ)在cookie里,以用來(lái)標(biāo)識(shí)用戶是否登錄。因?yàn)閏ookie是可以被修改的。請(qǐng)看這里的修改cookie,冒充其他用戶。nc httpwatch使用視頻教程,用微軟的Forms窗體身份驗(yàn)證和角色一般情況都?jí)蛴昧恕?
6、如果網(wǎng)站程序中用到讀寫(xiě)文件,一定要慎重,因?yàn)樽x取的操作很可能被黑客利用,例如用一個(gè)查看圖片的aspx文件讀取web.config,用一個(gè)生產(chǎn)模板的功能生成木馬。
7、充分利用驗(yàn)證碼。用戶登錄、評(píng)論等等可能會(huì)被提交垃圾信息的地方,都要使用驗(yàn)證碼,而且要有一個(gè)安全的驗(yàn)證碼。才能防止被暴力破解,防止網(wǎng)站充滿垃圾數(shù)據(jù)。
8、代碼要嚴(yán)謹(jǐn),修改用戶資料、修改用戶數(shù)據(jù)都要跟用戶關(guān)聯(lián)起來(lái),比如update news set title='新的標(biāo)題' where id=新聞編號(hào),這里還要加一個(gè)限制:userid=用戶編號(hào),這樣可以防止一個(gè)人修改別人的新聞。
9、關(guān)閉web.config中的錯(cuò)誤顯示。<customErrors mode="RemoteOnly" defaultRedirect="404.aspx"></customErrors>
以上是程序方面的安全問(wèn)題,想到哪里就寫(xiě)到哪里。沒(méi)有系統(tǒng)的整理。
另外順便提提服務(wù)器安全問(wèn)題。
1、開(kāi)啟windows防火墻,關(guān)閉不用的端口。這點(diǎn)是最重要的。就是說(shuō)你提供的服務(wù)越少,你的服務(wù)器就越安全。
2、設(shè)置安全的密碼。復(fù)雜度要達(dá)到一定強(qiáng)度。定期修改密碼。密碼不要泄露給別人,包括機(jī)房管理員。如果必要告訴機(jī)房人員,待機(jī)房人員用完密碼以后立刻改掉。
3、安裝ARP防火墻。機(jī)房里ARP病毒非常多,如果中了ARP病毒,輕者瀏覽網(wǎng)站不正常,可能有木馬跟隨。嚴(yán)重的就整個(gè)網(wǎng)站、機(jī)房都斷網(wǎng)了。
4、適當(dāng)?shù)陌惭b殺毒軟件。(諾頓、麥咖啡等)
5、IIS關(guān)閉不用的服務(wù),例如asp支持,關(guān)閉不用的服務(wù):ftp,smtp,pop3等等,修改網(wǎng)站根目錄。設(shè)置目錄權(quán)限。
6、針對(duì)各種攻擊,有不同的對(duì)策,例如cc攻擊。曾經(jīng)遇到一次,深圳那邊有5臺(tái)連續(xù)IP的機(jī)器對(duì)我的一個(gè)視頻站發(fā)動(dòng)CC攻擊,導(dǎo)致網(wǎng)站打開(kāi)非常的慢,開(kāi)始我們還不知道是被攻擊,以為程序有漏洞,不停的找程序的問(wèn)題。后來(lái)通過(guò)服務(wù)器安全管理軟件,查出是這些IP在作怪,通過(guò)站長(zhǎng)屏蔽IP訪問(wèn)的幾種方法中提到的“本地安全策略”方法屏蔽掉這5個(gè)IP以后服務(wù)器恢復(fù)正常,網(wǎng)站恢復(fù)了往日的速度。
常用命令:iisapp -a,netstat -nao,tasklist,telnet xxx.xxx.xxx.xxx 端口
7、遠(yuǎn)程管理軟件不要用默認(rèn)端口,雖然密碼被暴力破解和猜到的可能很小,但是總是有無(wú)聊的人嘗試。造成日志里一堆垃圾信息。修改端口以后就沒(méi)有人嘗試破解密碼了。因?yàn)樗恢肋@個(gè)端口是做什么的。談到這里,我想起,不用的服務(wù)要關(guān)閉,那么用的服務(wù)器就要開(kāi)啟嗎?那肯定是要啟動(dòng)的,不啟動(dòng)誰(shuí)都用不了了,這里可以做一個(gè)限制,比如我的smtp服務(wù)只提供本機(jī)使用,那么我從防火墻里把25端口關(guān)閉,如果我的SQL SERVER只是供本機(jī)使用的。那么我也從防火墻里吧1433端口關(guān)閉。這樣外部無(wú)法連接,自然也不存在暴力破解數(shù)據(jù)庫(kù)密碼了。windows防火墻還可以針對(duì)某一個(gè)IP開(kāi)放某個(gè)端口。還是比較強(qiáng)大的。
以上亂七八糟的談了一堆,希望對(duì)站長(zhǎng)和程序員們有所幫助,大家可以加我QQ:4111852交流。我非常的歡迎。
最后說(shuō)一下那個(gè)網(wǎng)友被掛馬的解決建議:
1、備份好數(shù)據(jù)庫(kù)、其他數(shù)據(jù)。
2、把所有程序、包括目錄全部刪除,以確保沒(méi)有文件被留后門(mén)。
3、如果有可能,檢查服務(wù)器安全,確保服務(wù)器沒(méi)有被建立后門(mén),例如超級(jí)帳號(hào)、安裝了后門(mén)木馬。這樣的話,你怎么修改你的程序都沒(méi)用,人家隨時(shí)可以修改你的程序。
4、另一個(gè)網(wǎng)友提到的辦法,上傳一個(gè)靜態(tài)文件test.html,訪問(wèn)一下看看,是不是也有木馬以排除網(wǎng)絡(luò)問(wèn)題。
5、如果4中,確認(rèn)不是網(wǎng)絡(luò)問(wèn)題,那就是文件被掛馬了,全部程序刪除,上傳自己的安全的備份,恢復(fù)數(shù)據(jù),檢查數(shù)據(jù)庫(kù),確保木馬不在數(shù)據(jù)庫(kù)中。
6、查看IIS日志,看誰(shuí)登錄過(guò)后臺(tái),參考:iis日志分析視頻教程
思路特別亂,大家將就看一下吧
1、sql注入漏洞。
解決辦法:使用存儲(chǔ)過(guò)程,參數(shù)不要用字符串拼接。簡(jiǎn)單改進(jìn)辦法:使用SqlHelper和OledbHelper
2、跨站腳本漏洞
解決辦法:“默認(rèn)禁止,顯式允許”的策略。具體參考:從客戶端檢測(cè)到有潛在危險(xiǎn)的Request.Form值,禁止提交html標(biāo)記(<>等被轉(zhuǎn)義成<)
3、上傳漏洞
解決辦法:禁止上傳目錄的運(yùn)行權(quán)限。只給讀取權(quán)限。另外要禁止上傳非法類型文件。不僅僅是aspx類型,包括很多,甚至htm、html類型文件也不應(yīng)該直接上傳保存。
4、數(shù)據(jù)庫(kù)連接帳號(hào),盡量使用最低權(quán)限的帳號(hào)。一定不要給管理員權(quán)限。
假如被黑客得知了數(shù)據(jù)庫(kù)的密碼。
那我們就可以執(zhí)行任意系統(tǒng)命令了。
例如:xp_cmdshell 'dir c:\'
另外還有
tasklist
taskkill
pslist
pskill
net user
net user guest /active:yes
net user hack hack /add
net user hack /del
net localgruop administrators hack /add
query user
logoff 1
這些命令是不是很恐怖?呵呵。所以一定不要給web數(shù)據(jù)庫(kù)連接帳號(hào)管理權(quán)限。
5、用戶登錄。這里不要把用戶標(biāo)識(shí)明文存儲(chǔ)在cookie里,以用來(lái)標(biāo)識(shí)用戶是否登錄。因?yàn)閏ookie是可以被修改的。請(qǐng)看這里的修改cookie,冒充其他用戶。nc httpwatch使用視頻教程,用微軟的Forms窗體身份驗(yàn)證和角色一般情況都?jí)蛴昧恕?
6、如果網(wǎng)站程序中用到讀寫(xiě)文件,一定要慎重,因?yàn)樽x取的操作很可能被黑客利用,例如用一個(gè)查看圖片的aspx文件讀取web.config,用一個(gè)生產(chǎn)模板的功能生成木馬。
7、充分利用驗(yàn)證碼。用戶登錄、評(píng)論等等可能會(huì)被提交垃圾信息的地方,都要使用驗(yàn)證碼,而且要有一個(gè)安全的驗(yàn)證碼。才能防止被暴力破解,防止網(wǎng)站充滿垃圾數(shù)據(jù)。
8、代碼要嚴(yán)謹(jǐn),修改用戶資料、修改用戶數(shù)據(jù)都要跟用戶關(guān)聯(lián)起來(lái),比如update news set title='新的標(biāo)題' where id=新聞編號(hào),這里還要加一個(gè)限制:userid=用戶編號(hào),這樣可以防止一個(gè)人修改別人的新聞。
9、關(guān)閉web.config中的錯(cuò)誤顯示。<customErrors mode="RemoteOnly" defaultRedirect="404.aspx"></customErrors>
以上是程序方面的安全問(wèn)題,想到哪里就寫(xiě)到哪里。沒(méi)有系統(tǒng)的整理。
另外順便提提服務(wù)器安全問(wèn)題。
1、開(kāi)啟windows防火墻,關(guān)閉不用的端口。這點(diǎn)是最重要的。就是說(shuō)你提供的服務(wù)越少,你的服務(wù)器就越安全。
2、設(shè)置安全的密碼。復(fù)雜度要達(dá)到一定強(qiáng)度。定期修改密碼。密碼不要泄露給別人,包括機(jī)房管理員。如果必要告訴機(jī)房人員,待機(jī)房人員用完密碼以后立刻改掉。
3、安裝ARP防火墻。機(jī)房里ARP病毒非常多,如果中了ARP病毒,輕者瀏覽網(wǎng)站不正常,可能有木馬跟隨。嚴(yán)重的就整個(gè)網(wǎng)站、機(jī)房都斷網(wǎng)了。
4、適當(dāng)?shù)陌惭b殺毒軟件。(諾頓、麥咖啡等)
5、IIS關(guān)閉不用的服務(wù),例如asp支持,關(guān)閉不用的服務(wù):ftp,smtp,pop3等等,修改網(wǎng)站根目錄。設(shè)置目錄權(quán)限。
6、針對(duì)各種攻擊,有不同的對(duì)策,例如cc攻擊。曾經(jīng)遇到一次,深圳那邊有5臺(tái)連續(xù)IP的機(jī)器對(duì)我的一個(gè)視頻站發(fā)動(dòng)CC攻擊,導(dǎo)致網(wǎng)站打開(kāi)非常的慢,開(kāi)始我們還不知道是被攻擊,以為程序有漏洞,不停的找程序的問(wèn)題。后來(lái)通過(guò)服務(wù)器安全管理軟件,查出是這些IP在作怪,通過(guò)站長(zhǎng)屏蔽IP訪問(wèn)的幾種方法中提到的“本地安全策略”方法屏蔽掉這5個(gè)IP以后服務(wù)器恢復(fù)正常,網(wǎng)站恢復(fù)了往日的速度。
常用命令:iisapp -a,netstat -nao,tasklist,telnet xxx.xxx.xxx.xxx 端口
7、遠(yuǎn)程管理軟件不要用默認(rèn)端口,雖然密碼被暴力破解和猜到的可能很小,但是總是有無(wú)聊的人嘗試。造成日志里一堆垃圾信息。修改端口以后就沒(méi)有人嘗試破解密碼了。因?yàn)樗恢肋@個(gè)端口是做什么的。談到這里,我想起,不用的服務(wù)要關(guān)閉,那么用的服務(wù)器就要開(kāi)啟嗎?那肯定是要啟動(dòng)的,不啟動(dòng)誰(shuí)都用不了了,這里可以做一個(gè)限制,比如我的smtp服務(wù)只提供本機(jī)使用,那么我從防火墻里把25端口關(guān)閉,如果我的SQL SERVER只是供本機(jī)使用的。那么我也從防火墻里吧1433端口關(guān)閉。這樣外部無(wú)法連接,自然也不存在暴力破解數(shù)據(jù)庫(kù)密碼了。windows防火墻還可以針對(duì)某一個(gè)IP開(kāi)放某個(gè)端口。還是比較強(qiáng)大的。
以上亂七八糟的談了一堆,希望對(duì)站長(zhǎng)和程序員們有所幫助,大家可以加我QQ:4111852交流。我非常的歡迎。
最后說(shuō)一下那個(gè)網(wǎng)友被掛馬的解決建議:
1、備份好數(shù)據(jù)庫(kù)、其他數(shù)據(jù)。
2、把所有程序、包括目錄全部刪除,以確保沒(méi)有文件被留后門(mén)。
3、如果有可能,檢查服務(wù)器安全,確保服務(wù)器沒(méi)有被建立后門(mén),例如超級(jí)帳號(hào)、安裝了后門(mén)木馬。這樣的話,你怎么修改你的程序都沒(méi)用,人家隨時(shí)可以修改你的程序。
4、另一個(gè)網(wǎng)友提到的辦法,上傳一個(gè)靜態(tài)文件test.html,訪問(wèn)一下看看,是不是也有木馬以排除網(wǎng)絡(luò)問(wèn)題。
5、如果4中,確認(rèn)不是網(wǎng)絡(luò)問(wèn)題,那就是文件被掛馬了,全部程序刪除,上傳自己的安全的備份,恢復(fù)數(shù)據(jù),檢查數(shù)據(jù)庫(kù),確保木馬不在數(shù)據(jù)庫(kù)中。
6、查看IIS日志,看誰(shuí)登錄過(guò)后臺(tái),參考:iis日志分析視頻教程
思路特別亂,大家將就看一下吧
您可能感興趣的文章:
- 入侵ASP.net網(wǎng)站的經(jīng)驗(yàn)附利用代碼
- ASP.NET 網(wǎng)站開(kāi)發(fā)中常用到的廣告效果代碼
- asp.net網(wǎng)站的404錯(cuò)誤頁(yè)面的正確設(shè)置方法
- asp.net B2B網(wǎng)站對(duì)接支付寶接口
- ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實(shí)現(xiàn)代碼
- ASP.NET網(wǎng)站使用Kindeditor富文本編輯器配置步驟
- asp.net獲取網(wǎng)站目錄物理路徑示例
- iis6網(wǎng)站屬性沒(méi)有asp.net選項(xiàng)卡的解決辦法
- ASP.NET網(wǎng)站實(shí)時(shí)顯示時(shí)間的方法
- VS2010發(fā)布Web網(wǎng)站技術(shù)攻略
- ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)用戶登錄、注銷(五)
- vs2010制作簡(jiǎn)單的asp.net網(wǎng)站
- ASP.NET編程獲取網(wǎng)站根目錄方法小結(jié)
- VS2010制作第一個(gè)簡(jiǎn)單網(wǎng)站
相關(guān)文章
asp.net實(shí)現(xiàn)的DES加密解密操作示例
這篇文章主要介紹了asp.net實(shí)現(xiàn)的DES加密解密操作,結(jié)合具體實(shí)例形式分析了asp.net實(shí)現(xiàn)DES加密與解密算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-07-07詳解ASP.NET?Core高性能服務(wù)器HTTP.SYS
HTTP.SYS本質(zhì)上就是一個(gè)HTTP/HTTPS監(jiān)聽(tīng)器,它是Windows網(wǎng)絡(luò)子系統(tǒng)的一部分,是一個(gè)在內(nèi)核模式下運(yùn)行的網(wǎng)絡(luò)驅(qū)動(dòng),今天通過(guò)本文給大家介紹下ASP.NET?Core高性能服務(wù)器HTTP.SYS,感興趣的朋友一起看看吧2022-04-04在WinForm和WPF中使用GMap.Net地圖插件簡(jiǎn)單教程
GMap.NET是一個(gè)強(qiáng)大、免費(fèi)、跨平臺(tái)、開(kāi)源的.NET控件,它在Windows Forms 和WPF環(huán)境中能夠使用來(lái)自Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等地圖,下面看一下使用方法2013-12-12asp.net下Repeater使用 AspNetPager分頁(yè)控件
AspNetPager針對(duì)ASP.NET分頁(yè)控件的不足,提出了與眾不同的解決asp.net中分頁(yè)問(wèn)題的方案2010-03-03WPF中button按鈕同時(shí)點(diǎn)擊多次觸發(fā)click解決方法
這篇文章主要為大家詳細(xì)介紹了WPF中button按鈕同時(shí)點(diǎn)擊多次觸發(fā)click的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04