WEB漏洞—XSS跨站之WAF绕过及安全修复

WEB漏洞—XSS跨站之WAF绕过及安全修复
Yatming的博客WEB漏洞—XSS跨站之WAF绕过及安全修复
常规WAF绕过思路:标签语法替换,特殊符号干扰,提交方式更改,垃圾数据溢出,加密解密算法,结合其他漏洞绕过
这里我用单引号不行,访问结果是404,但是我用双引号就可以了,访问结果是200
#:类似于注释符
/:在html中有结束符的意思,因为一般的标签都是:这样的形式,所以html会认为【/】后面就没有东西了。
用其他类型的标签 “href” 和特殊符号干扰
这里我虽然是可以成功,访问但是xss平台并没有任何反应
FUZZ
1 | https://xssfuzzer.com/fuzzer.html |
采用网上的绕过方法
这里使用了编码以及特殊符号,标签替换,编码要注意要对方可以解密才行,如果对方识别不了,也不行
自动化工具说明:XSStrike主要特点反射和DOM XSS扫描
特点:多线程爬虫,Context分析,可配置的核心,检测和规避 WAF,老旧的 JS 库扫描,智能payload生成器,手工制作的 HTML & ,JavaScript 解析器,强大的fuzzing引擎,盲打 XSS 支持,高效的工作流,完整的 HTTP 支持,Bruteforce payloads支持,Payload编码
使用参数说明
1 | -h, --help //显示帮助信息 |
fuzz字典+bp
对方如果开了CC流量,我们发的量太大的话会被封IP
代理或者可以延长测试时间或者本地搭建一样的环境,测试好了再去!
这里还有一个WAF的检测,这里的话我用的是安全狗,而且是开启的状态,为啥这里检测不出来呢?因为这个软件是国外人写的,所以针对的是国外的一些出名的WAF,然后安全狗只是针对国内的市场来说的。所以这里检测不到
这里黄色代表的是被拦截或者不响应,也有可能是误报,绿色表示可以
【绿色】
【黄色】这里我的理解是可以看到之前都是 “欢迎用户” 然后这里是如下图,名字也就是name是你输入语句的字符串,这也不算拦截,所以我又觉得是误报
如果不加这个fuzzer的参数的话,会自动帮你检测有哪些payload可以使用,这里我随机用了一个
<a/+/OnmOUsEover%0d=%0d[8].find(confirm)%0dx>v3dm0s
刷新页面之后,只要鼠标移动到页面的这个有图像或者上面这个欢迎用户这里,还有下面的payload的长度的地方,都会有一个弹窗8,我现在是安全狗开启状态, 如果是有弹窗的script的代码的话是会进行拦截的,但是这里没有拦截就说明绕过成功了
除了手工还有刚刚说的这个xss的自动化工具,还有上面介绍的一个网页形式的自动化测试,除此之外还有上几节课,有可能是文件上传那一章说过的别人写好的FUZZ字典,然后用burp跑那个字典,同样是可以对这个xss进行测试的
先抓到数据包
burp会自动帮你在可能要测试的地方,插入测试点,这里先clean,也就是删除所有测试点
我这里长度为3061就是被安全狗拦截了。
双击这个数据包
这里就是payload可以直接复制,也可以像下面这样复制数据包中的,但是如果直接复制数据包中的话需要把url的编码转化一下
填写payload
成功
安全修复方案
开启httponly,输入过滤,输出过滤等
1 | PHP:http://www.zuimoge.com/212.html |
涉及资源
1 | https://gitee.com/jadmin/imxss |