滲透測試學習 十7、 XSS跨站腳本漏洞詳解

 

通常用途:拿cookie進後臺,將後臺地址一塊兒發送過來javascript

特色:挖掘困難,繞過困難 php

 大綱:html

XSS漏洞基礎講解java

XSS漏洞發掘與繞過web

XSS漏洞的綜合利用express

XSS漏洞基礎講解瀏覽器

  XSS介紹:安全

    跨站腳本攻擊(Cross Site Scripting),爲了避免和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫爲XSS。惡意攻擊者往Web頁面裏插入惡意的Script代碼,當用戶瀏覽該頁之時,嵌入其中Web裏面的Script服務器

代碼會被執行,從而達到惡意攻擊用戶的目的。cookie

  特色:

    能注入惡意代碼到用戶的客戶端瀏覽器的網頁上,從而達到劫持用戶會話的目的。

  什麼是跨站腳本?

    介紹:跨站腳本(cross-site scripting,XSS)是一種安全攻擊,其中,攻擊者在看上去來源可靠的連接中惡意嵌入譯碼。它容許惡意用戶將代碼注入到網頁上,其餘用戶在觀看網頁時就會受到影響。這類攻擊一般包含了HTML以及用戶

端腳本語言。

     XSS腳本示例:    

<html>
<head>xss test</head>
<body>
<script>alert(/xss/)</script>
</body>
</html>

 

    以上代碼使用alert函數彈出來一個網頁彈框,彈框內容就是/xss/,xss的輸入也是能夠是html代碼,好比能讓網站不停地刷新

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

    也能夠嵌入其餘網頁連接

    <iframe src=http://xx.com with=0 height=0></iframe>

  XSS的危害

    竊取Cookies、蠕蟲、釣魚等等。

JavaScript基礎知識

  簡介:JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱爲JavaScript引擎,爲瀏覽器的一部分,普遍用於客戶端的腳本語言,最先是在HTML(標準通用標記語言下的一個應用)

網頁上使用,用來給HTML網頁增長動態功能。

  document對象

      它表明着當前的頁面(文檔),咱們調用它的write()方法就能向該對象中寫入內容,即:document.write(),能夠在HTML引用外部js代碼<script src=x.js></script>,其中x.js的內容以下:

      document.write("hello xxx");

      在標籤、屬性、元素這三種地方可能會調用。

  JavaScript變量

    定義變量

      var [變量]

      e.g  var x;  var a=1;  var b="hello";  var c=ture;

  JavaScript流程控制

    if-else控制語句

      e.g 

var a=20; var b=10; if(a>b){ alert("b=20"); } else{ alert("b=10"); }

    switch控制語句

      e.g

var x=10; switch(x){ case 2: alert('1'); break; case 10: alert('10'); break; }

    for循環

      e.g

<script>
for(var i=0;i<100;i++){ alert(1); } </script>

    while循環

      e.g

<script>
var a=0; while(a<100){ alert(1); a++; } </script>

 

JavaScript函數

function x(a,b){ var c=a+b; return c; } var xx=x(1,2); conseole.log(xx);

 

JavaScript事件

  onclick屬性,點擊事件

  e.g

function x(){ alert(/xss/) } <h1 onclick="x()">hello</h1>

 

XSS分類

  反射型、DOM型、存儲型

  反射型

    介紹:XSS反射型攻擊,惡意代碼並無保存在目標網站,經過引誘用戶點擊一個連接到目標網站的惡意連接來實施攻擊的。

    e.g

http://www.xx.com/src.asp?key="><script>alert(/xss/)</script>

    通常使用的時候是將構造好的URL發送給目標者,誘使其點擊連接後觸發攻擊,可是這種的只能使用一次,非持久化的。

  存儲型XSS

    比反射性的XSS更具備威脅性,而且可能影響到web服務器是我自身安全,這種的不須要用戶本身點擊特定的連接就能夠執行,攻擊者將惡意代碼上傳到服務器中,或存儲在漏洞服務中,只要瀏覽器包含有這個惡意代碼的問題,就會受到攻擊。

  攻擊模型

 

XSS漏洞發掘和繞過

  火狐中經常使用的XSS調試插件

     hackbar、firebug、tamper data、live http headers、editor cookie(編輯cookie)

XSS漏洞挖掘:

  挖掘方式:

    手工挖掘、工具挖掘、標籤閉合、AWVS

手工挖掘XSS漏洞

  站點:http://www.xx.com/xss.php?id=1

  將payload分別添加到id=1的地方進行測試

  常測試的地方是有輸入的地方,文件上傳的地方、flash、、

  閉合標籤

 1  1 <script>alert(1)</script>
 2  2 "'><script>alert(1)</script>  3  3 <img/src=@onerror=alert(1)/>  4  4 "'><img/src=@onerrer=alert(1)/>  5  5 'omouseover=alert(1) x='
 6  6 "onmouseover=alert(1) x="  7  7 'onmousover=alert(1) x="
 8  8 javascript:alert(1)//  9  9 data:text/html;base64,PHNjcmludD5== 10 10 "';alert(1)// 11 11 </script><script>alert(1)// 12 12 }x:expression(alert(1)) 13 13 alert(1)//

 

 

 

工具挖掘XSS漏洞

  AWVS  netsparke  appscan  burp  xsser

  xsscrapy  bratexssr  OWASP Xemotix

   當插入的代碼在標籤的中間時,須要閉合標籤

  當插入的代碼在標籤的屬性時,e.g  <div value="123"><script>alert(1)</script>">

  要先找到位置,嘗試閉合

  在留言的地方通常是找存在存儲型的XSS必須挖的地方,在存儲型的多個要輸入內容的框時,咱們須要對每一個框都進行寫入測試,二通常不留彈框的代碼,防止管理員發現,通常都是打cookie的代碼,

  注意:閉合標籤的時候要閉合他加載後的標籤,對於文本域的標籤加載先後都要閉合</textarea>

  常見的防XSS的代碼

1 $x=preg_replace("/script/","",$x); 2 $x=preg_replace("/script/i","",$x); 3 $x=preg_replace("/alert/","",$x); 4 $x=preg_replace("/script/","",$x); 5 這裏面,i是表明不區分大小寫 6 上述的代碼是指將檢測到的關鍵字用空格替換 7 對於區分大小寫咱們能夠對關鍵字進大小寫的轉換 8 對於替換成空格的咱們能夠重複覆蓋,如:<SCRSCRRTPIPT>他將裏面的一個替換成空格後還會剩下一個

 

   XSS繞過限制

    當存在XSS但又有waf或過濾策略時,有如下幾種繞過方法:

    一、繞過magic_quotes_gpc

    二、編碼繞過

    三、改變大小寫

    四、閉合標籤

XSS漏洞的綜合利用

  在網站上進行測試,通常就是尋找這種post型傳遞參數,進行交互的地方

  能夠看到結果,這裏是只接受數字型的參數,因此咱們就無法注入xss語句了,只能尋找其餘的地方

  咱們在站內查找的地方輸入代碼,能夠看到他彈框了,說明存在xss漏洞

  這個實驗是要用低版本的瀏覽器進行測試的,在高版本的瀏覽器中會將這條語句檢測出來,直接過濾攔截,報錯沒法顯示。好比Google瀏覽器

 

 

留言成功後並不會當即顯示出什麼,可是等咱們登陸到後臺的時候,點擊待審留言,就會出現彈框,這就是存儲型的XSS

   也可使用工具直接跑(BruteXSS)

  他會加載字典進行嘗試

  注意:最好選擇get類型的方式,若是是post會有很大的可能改變網站排版,致使網站頁面扭曲等現象,危害很大;

  由於它是直接留存在服務器裏面的,須要網站管理員進行恢復,更嚴重的可能追究你的刑事責任。

  在他的wordliet文件裏面就是他的字典,在跑的時候就是加載的這個文件,裏面的語句只能夠本身再添加的

 

 

  平臺:xss.fbisb.com

  建立一個項目

  填寫相關信息

  選擇默認模塊,此次演示的是盜取管理員的cookie

   以下就時他給出的利用代碼

  將XSS代碼進行留言

  而後咱們登錄管理員,看看審查元素能夠發現,他將管理員的cookie發送到那個平臺

 

 

   能夠看到咱們的項目中已經得到了管理員的cookie

  cookie利用

  此時咱們用火狐的插件

  路徑選擇根,裏面填寫的內容就是在平臺中給的cookie的內容

 

  而後去訪問,登錄後的鏈接,若是仍是登陸不了,九江cookie中的全部信息都添加如下,多添加幾個就能夠了

 

2019-05-13  23:38:55

相關文章
相關標籤/搜索