使用過ASP的同學一定見過這樣的代碼:
Hello,
復制代碼 代碼如下:
%
Response.Write(Request.Querystring("name"))
%>
假如我傳入的name的值為:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
這樣就可以直接盜取用戶的cookie。所以我就可以發送一條鏈接地址讓別人去點: 復制代碼 代碼如下:
http://www.xxx.com/reg.asp?name=script>x=document.cookie;alert(x);/script>
當然這樣做沒有一點隱蔽性,雖然前面的xxx.com瞞過了少數人,但大多數人可以辨認出后面的javascript代碼,所以,我只需要將后面的javascript代碼轉換成URL的16進制,如: 復制代碼 代碼如下:
http://www.xxx.com/reg.asp?name=%3C%73%63%72%69%70%74%3E%78%3D%64%6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%3B%61%6C%65%72%74%28%78%29%3B%3C%2F%73%63%72%69%70%74%3E
上面的URL你還認得嗎?除非你把它轉換出來。(進制轉換可以使用Napkin工具,哎,太壞了。。)
根本原因
1. 沒有對輸入進行約束,沒有對輸出進行編碼
2. 沒有嚴格區分“數據”和“代碼”
示例
發現大名鼎鼎的淘寶網也存在這樣的漏洞,我們在搜索框中輸入:
復制代碼 代碼如下:
"/>div style="position:absolute;left:0px;top:0px;">iframe src="http://www.baidu.com" FRAMEBORDER=0 width=1000 height=900/>/div>a href="
這樣,我們已經修改了淘寶原有的頁面,在下面嵌入了百度的首頁。效果如圖:

使用時機
我嘗試在各種不同網站尋找 XSS漏洞, baidu, amazon.cn, youku.com, dangdang.com等等。結果,我發現XSS漏洞非常普遍!其實XSS利用的是網頁的回顯,即,接收用戶的輸入,然后再在頁面顯示用戶的輸入??偨Y 一下幾個可能會出現漏洞的地方:
搜索引擎
1、留言板
2、錯誤頁面
3、通過在上面那些類型的頁面輸入一些特殊的字符(包括 > / "),如:/?jjkk>,然后在結果頁中的源碼處搜索是否存在原樣的:/?jjkk>,如果存在,恭喜你,發現了一個XSS漏洞。
1234下一頁閱讀全文
您可能感興趣的文章:- 淺談html轉義及防止javascript注入攻擊的方法
- 什么是JavaScript注入攻擊?
- linux抵御DDOS攻擊 通過iptables限制TCP連接和頻率
- 淺談利用JavaScript進行的DDoS攻擊原理與防御
- Linux系統防CC攻擊自動拉黑IP增強版(Shell腳本)
- linux封鎖IP簡單防御UDP攻擊
- IP攻擊升級,程序改進以對付新的攻擊
- php下網站防IP攻擊代碼,超級實用
- 分析攻擊IP來源地與防御IP攻擊的應對策略