漏洞探测
本篇文章为彦语师傅实战案例分享
看到信息信息框就想试试xss,首先测试
<u>123</u>
看看能不能正常出现下划线
虎躯一震
尖括号没有被转义
"><u>123</u>
看看能不能闭合
waf绕过
果然
说明这里大概率存在xss
原神启动!
一般payload都失败了,开始将payload拆分开
看看到底是哪里被过滤alert() confirm() prompt()
直接用均被转成其他字段【xss】说明这里是有WAF的
经过测试
猜测waf拦截的形式为长时间载入无应答
谷歌 edge 火狐均如此
输入过长的字符也会如此
经过一系列的测试发现
单引号会被清理
alert(1) confirm(1) prompt(1)经过html编码后可以正常使用
<img src='x' onerror>
测试至这里发现加上“=”号后也会被拦截
最后的payload为这样
<img src='x' onerror=alert(1)>
经过总结和测试,不管怎么编码,把alert(1) confirm(1) prompt(1)加入payload后都会被拦截
最后突然想到还有console.log,而且它直接原文写上去是不被拦截的,哈哈哈
"><body onload=console.log(11)>
尝试
结果payload跑到上边去了,我这js基础根本看不懂为啥
最后还是经过师傅指点
此waf检验=两边的东西,这也解释了为什么之前加入=后会被拦截
绕waf前代码 "><body onload=console.log(1212121212)>
在onload后加上一个空格即可
绕waf后代码 "><body onload =console.log(1212121212)>
哈哈哈哈成功啦
绕了一个下午,想要放弃的时候发现柳暗花明又一村
本篇文章为彦语师傅实战案例分享
学习安全五年+,三分之二的白帽子,三分之一的科研er,适合致力于挖掘漏洞的师傅,具体详情扫描了解
原文始发于微信公众号(梅苑安全学术):记录人生中的第一个xss-waf绕过
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论