XSS攻擊 js 腳本注入

原文地址:http://www.cnblogs.com/robot/archive/2009/04/15/1436107.htmljavascript

1.不要相信Request.QueryString:html

相信在asp時代,這個問題比較嚴重,不信,隨便到網絡上找幾個asp的企業站,找到這種url"view.asp?id=xxx",改爲"view.asp?id=xxx or 1=1",相信你會看到不同的東西,到了.net,應該不多了,不過上次看到有人說CSDN爆過哦,簡單的解決方法是在取得數據時作數據類型驗證或轉換。好比:
int ViewID = 0;
if(int.TryParse(Request.QueryString["ID"], out ViewID)){
//...
}java

2.不要相信maxlength:瀏覽器

有時候咱們想客戶端輸入的某個值不超過必定的長度,這個時候可能就會用到input的maxlength,但maxlength能100%保證這個值的長度不超過maxlength嗎?請點擊連接看看例子安全

顯然,maxlength是不可信的,簡單的解決辦法是後臺代碼驗證數據長度:
string UserName = Request.QueryString["UserName"];
if(!string.IsNullOrEmpty(UserName)&&UserName.length > x){
//...提示錯誤或截斷數據
}cookie

3.不要相信Hidden:網絡

有時候咱們想把些信息保存到前臺頁面,而後再發送回來,可是咱們又不想讓客戶看到這個信息,因而,咱們把數據放到了hidden裏面,那客戶提交數據時,hidden裏的內容真的是咱們放的內容嗎?請點擊連接看看例子編輯器

這個我一時也沒想到好的驗證方法,暫時也沒有特殊的需求說必須驗證。學習

4.不要相信客戶端驗證:網站

好比2和3中的問題,可能有的朋友以爲,我客戶端再加個驗證不就OK了嗎?但是,每每,客戶端驗證也是不安全的,首先,若是客戶端禁用腳本,那客戶端驗證是徹底失效的,另外,在腳本有效的狀況下,腳本驗證也是能夠被篡改的。請點擊連接看看例子

之前QQ空間裏能夠經過這個方法無償使用黃鑽模板,不知道如今還有沒有。這個就沒有什麼好的解決辦法,只能後臺再驗證一次。

5.不要相信編輯器:

有的時候,可能項目中要用到一些簡單的編輯器,因而,咱們就找到了一些編輯器,把不須要的功能(好比:編輯源碼、插入圖片等)剔除掉,就成了個簡單的編輯器,那這樣的編輯器還會有什麼問題嗎?請點擊連接看看例子

暫時也沒有什麼好的解決辦法,之前找到過過濾script標籤的代碼,但彷佛不太完美。

6.不要相信Cookie:

網站中不可避免的會使用到Cookie,但若是一不注意,當心你的Cookie成了別人的"Cookie",複製下面的網址到瀏覽器 http://dg.yomeier.com/out/source/cookie.asp取Cookie和寫Cookie的js方法是在網上找到的,具體連接也找不到了。解決辦法,彷佛是Cookie加密(固然,即便是加密了,也儘可能不要把敏感數據放到Cookie中),不知道各位高手還有沒有其它好辦法。

7.不要相信Request.UrlReferrer:

若是有朋友用這個來驗證請求,那麼請注意了,這個東西也是不可信的。見代碼;
System.Net.HttpWebRequest request = System.Net.WebRequest.Create("http://www.cnblogs.com/") as System.Net.HttpWebRequest;
request.Referer = "http://www.cnblogs.com/";
...

那麼,這個時候你取得的Urlreferrer會是http://www.cnblogs.com/,但這個請求倒是僞造的。


8.不要相信用戶

用戶就是你潛在的威脅,客戶端的東西,永遠都不要輕信。

另,select標籤的內容也是不可信的,你們能夠動手試試,隨便建個頁面,裏面放個select,而後:
javascript:alert(window.c=function(){var s=document.getElementsByTagName('select')[0];for(var x = 0; x < 100; x++){s.options[x]=new Option('選項' + x, x)}}());

歡迎高手不吝賜教。示例代碼下載

 

http://www.yomeier.com/,最近發佈的一個項目,主要銷售品牌化妝品和行貨手機,有須要的朋友能夠看看。

最近須要針對這個項目學習點SEO和網站推廣方面的知識,不知道園子裏有沒有這方面的高手能夠指點一下,萬分感謝!

相關文章
相關標籤/搜索