Pikachu-XSS(跨站腳本)

XSS(跨站腳本)概述javascript

Cross-Site Scripting 簡稱爲「CSS」,爲避免與前端疊成樣式表的縮寫"CSS"衝突,故又稱XSS。通常XSS能夠分爲以下幾種常見類型:
    1.反射性XSS;
    2.存儲型XSS;
    3.DOMXSS;html


XSS漏洞一直被評估爲web漏洞中危害較大的漏洞,在OWASP TOP10的排名中一直屬於前三的江湖地位。
XSS是一種發生在前端瀏覽器端的漏洞,因此其危害的對象也是前端用戶。
造成XSS漏洞的主要緣由是程序對輸入和輸出沒有作合適的處理,致使精心構造的字符輸出在前端時被瀏覽器看成有效代碼解析執行從而產生危害。
所以在XSS漏洞的防範上,通常會採用對輸入進行過濾輸出進行轉義的方式進行處理:
  輸入過濾:對輸入進行過濾,不容許可能致使XSS攻擊的字符輸入;
  輸出轉義:根據輸出點的位置對輸出到前端的內容進行適當轉義;前端

 


 

反射型xssget

1.先輸入 1 測試一下看返回什麼,隨便輸入其餘字符,發現沒作過濾java

 

 

 

 

2.查看頁面審覈元素,發現輸入框長度只有20,修改成40web

 

 

 

 

3.嘗試xss利用,<script>alert('xss')</script>瀏覽器

 

 

 

 


 

反射型xsspost

1.經過提示先登陸進去cookie

 

 

 

 

2.查看登錄者的cookie信息,<script>alert(document.cookie)</script>dom

 

 

 

 


 

存儲型xss

1.在留言板裏嘗試插入xss代碼,無過濾,<script>alert('xss')</script>xss

 

 

 

 


 

DOMxss

1.查看審查元素,須要構造一下,調用domxss()函數函數

 

 

 

 

 

 

 

2.嘗試xss利用,' onclick="alert('xss')">

 

 

 

 

3.也能夠,'><img src="#" onmouseover="alert('xss')">

 

 

 

 


 

DOMxss-x

1.DOMxss同樣, ' onclick="alert('xss')">

 

 

 

 

2.也可,'><img src=1 onerror="alert('xss')">

 

 

 

 


 

xss之盲打

1.輸入提交,<script>alert('xss')</script>

 

 

 

 

2.登陸後臺查看

 

 

 

 


 

xss之過濾

1.嘗試,<script>alert('xss')</script>

 

 

 

 

2.發現被過濾,換個語句嘗試,<img src=1 onerror="alert('xss')">

 

 

 

 

3.經過大小寫也可繞過過濾,<sCript>alert('xss')</sCript>

 

 

 

 


 

xsshtmlspecialchars

1.嘗試構造,'><img src=1 onerror="alert('xss')">

 

 

 

 

2.htmlspecialchars函數的做用:該函數把預約義的字符轉換爲 HTML 實體預約義的字符是 & " ' < > 這五個,即轉化爲 &#xxx的形式。默認狀況下爲只過濾雙引號,若設置爲ENT_QUOTES則單雙引號均被過濾。輸入'1'查看

 

 

 

 

未過濾單引號'<a href="" 1''="">'1'</a>,輸入的單引號沒有被過濾的話,通過htmlspecialchars後拼接到html語句中會自動換成雙引號

 

3.構造,' onclick='alert(/xss/)'

 

 

 

 


 

xsshref輸入

1.嘗試,' onclick='alert(/xss/)'

 

 

 

2.審查返回的元素髮現全部字符都被轉化爲HTML實體了,包括單引號。
但因爲輸入的url拼接在 <a href='輸入的內容'>屬性中,可使用javascript語法來構造語句javascript:alert('xss')

 

 

 


 

xssjs輸出

1.嘗試,javascript:alert('xss')

 

 

 

2.構造,';alert(/xss/)//

 

相關文章
相關標籤/搜索