成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

寫給ASP.NET程序員:網(wǎng)站中的安全問題

開發(fā) 后端
在網(wǎng)絡(luò)經(jīng)常看到網(wǎng)站被掛馬、主頁被修改的新聞,其實這些問題可能是多方面的,服務(wù)器,網(wǎng)站程序等等。但是現(xiàn)在溢出已經(jīng)被人們重視和服務(wù)器的不斷完善,服務(wù)器系統(tǒng)漏洞也不是那么容易發(fā)掘,當(dāng)然也要保證第三方的軟件安全。本文作者根據(jù)自己的工作經(jīng)驗對程序中遇到的安全問題做了總結(jié),希望可以給你帶來幫助。

做項目也有一段時間了,在程序中也遇到很多安全方面的問題。也該總結(jié)一下了。這個項目是一個CMS系統(tǒng)。系統(tǒng)是用ASP.NET做的。開發(fā)的時候發(fā)現(xiàn)微軟做了很多安全措施,只是有些新手程序員不知道怎么開啟。下面我通過幾個方面簡單介紹:

1:SQL 注入

2:XSS

3:CSRF

4:文件上傳

SQL 注入

引起原因:

其實現(xiàn)在很多網(wǎng)站中都存在這種問題。就是程序中直接進行SQL語句拼接。可能有些讀者不太明白。下面通過一個登錄時對用戶驗證來說明:

驗證時的sql語句:

select * from where user='"+txtUsername.Text+"' and pwd='"+txtPwd.Text+"'

這是一段從數(shù)據(jù)庫中查詢用戶,對用戶名,密碼驗證。

看上去好象沒有什么問題,但是實際這里面淺藏著問題,用戶名:admin   密碼:admin

select * from where user='admin' and pwd='admin'

如果用戶和密碼正確就可通驗證。如果我用戶名:asdf' or 1=1 -- 密碼:隨意輸入.

我們再來看語句:

select * from where user=‘a(chǎn)sdf' or 1=1 -- and pwd=''

執(zhí)行后看到什么?是不是所有記錄,如果程序只是簡單判斷返回的條數(shù),這種方法就可以通驗證。

如果執(zhí)行語句是SA用戶,再通過xp_cmdshell添加系統(tǒng)管理員,那么這個服務(wù)器就被拿下了。
解決方法:

a. 這個問題主要是由于傳入特殊字符引起的我們可以在對輸入的用戶名密碼進入過濾特殊字符處理。

b. 使用存儲過程通過傳入?yún)?shù)的方法可解決此類問題(注意:在存儲過程中不可使用拼接實現(xiàn),不然和沒用存儲過和是一樣的)。

XSS(跨站腳本攻擊)

引起原因:

這個也有時被人們稱作HTML注入,和sql注入原理相似,也是沒有特殊字符進行處理。是用戶可以提交HTML標(biāo)簽對網(wǎng)站進行重新的構(gòu)造。其實在默認(rèn)的情況下在asp.net網(wǎng)頁中是開啟validateRequest屬性的,所有HTML標(biāo)簽后會.NET都會驗證:

 

但這樣直接把異常拋給用戶,多少用戶體驗就不好。

解決方法:

a. 通過在 Page 指令或 配置節(jié)中設(shè)置 validateRequest=false 禁用請求驗證,然后我們對用戶提交的數(shù)據(jù)進行HtmlEncode,編碼后的就不會出現(xiàn)這種問題了(ASP.NET 中編碼方法:Server.HtmlEncode(string))。

b. 第二種是過濾特殊字符,這種方法就不太提倡了,如果用戶想輸入小于號(<)也會被過濾掉.

CSRF(跨站點請求偽造)

引起原因:個人認(rèn)為csrf在Ajax盛行的今天來說,倒是方便了,因為它可以在你不知道的情況用你的通過驗證用戶進行操作,所以也被稱為瀏覽器劫持。如果你已通過某個網(wǎng)站的驗證那么你將以你的角色對網(wǎng)站進行操作,比如你是管理員可以添加其它的用戶到管理組,但是如果有人構(gòu)造了添加管理員的鏈接被管理員點后也會執(zhí)行相應(yīng)操作.

解決方法:

修改信息時添加驗證碼或添加Session令牌(ASP.NET中已經(jīng)提供一個自動防范的方法,就是用頁面屬性ViewStateUserKey.在Page_Init方法中設(shè)置其值:this.ViewStateUserKey=Session.SessionID)。

文件上傳

引起原因:

如果你的網(wǎng)站使用的是在線編輯器,如FCKEditor,eWeb等等,如果沒有處理好文件上傳,那么上線后網(wǎng)站會很快的被篡改。

解決方法:

在用戶登錄時加入是否可上傳文件的Session標(biāo)志。其實Fckeditor已經(jīng)寫好了。直接把驗證函數(shù)CheckAuthentication()中的注釋段中

return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );

注釋去掉。在登錄成功加入

Session[“IsAuthorized”] = true;

就可以了。

如果網(wǎng)站沒有用到上傳到服務(wù)器的文件瀏覽的話把fckeditor"editor"filemanager中的browser目錄也刪除。

【編輯推薦】

  1. 為ASP.NET MVC擴展異步Action功能
  2. 為ASP.NET控件加入快捷菜單
  3. ASP.NET全局異常處理淺析
責(zé)任編輯:楊鵬飛 來源: 51CTO整理
相關(guān)推薦

2009-07-27 18:07:30

ASP.NET程序員

2009-07-24 13:09:57

ASP.NET程序員

2009-07-27 10:00:17

程序員ASP.NET

2009-07-21 10:16:51

ASP.NET程序員

2009-08-04 15:39:15

ASP.NET程序員

2010-12-30 10:04:49

Linux入門

2009-08-04 16:24:19

合格的ASP.NET程

2009-07-29 09:14:36

ASP.NET網(wǎng)站

2011-12-20 10:02:01

ASP.NET

2009-07-29 13:04:59

2009-07-10 09:39:25

ASP.NET網(wǎng)站性能

2009-07-29 15:51:29

ASP.NET中執(zhí)行w

2020-10-30 08:50:25

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-08-06 15:56:40

ASP.NET Coo

2009-08-02 10:21:39

ASP.NET程序員面ASP.NET

2009-07-28 18:00:11

ASP.NET程序

2009-07-24 10:10:22

ASP.NET

2009-07-24 16:17:42

WebRequestEASP.NET

2011-07-22 16:02:23

ASP.NET
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩av成人 | 91色站| 国产精品1区 | 国产精品99久久久久久久久久久久 | 亚洲精品视频在线观看视频 | 日韩成人一区 | 午夜精品久久久久久久久久久久久 | 日韩久久久久久 | 91直接看| 国产精品99久久久久久久vr | 高清久久久| 色网在线看 | 欧美黄色一区 | 伊人超碰 | 成人国产在线观看 | 91不卡 | www.9191.com| 成人在线欧美 | 羞羞视频在线观免费观看 | 欧美午夜视频 | 免费看国产精品视频 | 一区二区三区四区在线视频 | 国产黄色在线观看 | 国产综合在线视频 | 成人黄色电影免费 | 色综合桃花网 | av黄色在线 | 亚洲一在线 | 人人澡人人射 | 亚洲福利免费 | 成年网站在线观看 | 欧美大片久久久 | 免费午夜视频在线观看 | 亚洲免费网 | 狠狠亚洲| 在线观看视频亚洲 | 久久大陆 | 天天插天天狠天天透 | 亚洲欧美中文日韩在线v日本 | 99伊人网| 午夜欧美日韩 |