【XSS跨站】---WAF绕过&安全修复---day28
【XSS跨站】---WAF绕过&安全修复---day28
一、常规WAF绕过思路
1、标签语法替换
2、特殊符号干扰
3、提交方式更改
4、垃圾数据溢出
5、加密解密算法
6、结合其他漏洞绕过
二、安全狗测试
1、测试拦截的是什么
通过对不断地删减测试来判断。
测试后
发现检测的是两个尖括号里面有没有字符串<>,如果有就拦截。没有就不拦截。进一步发现,拦截,
可以使用特殊符号干扰,垃圾数据溢出等方法绕过。比如说用斜杠/,在HTML中表示一个标签的结束。
2、XSSFUZZ
网址:
http://xssfuzzer.com/fuzzer.html
通过替换里面的参数,来生成payload测试。
3、更改提交方式
也许WAF会拦截get方式,但是不会拦截post方式,那么就可以post方式提交,前提是服务端在接受的时候,可以接受post方式提交。
4、加密解密算法
参考文章:
https://bbs.pediy.com/thread-250852.htm
三、XSStrike---反射和DOM XSS扫描
1、下载地址
https://github.com/s0md3v/XSStrike
2、特点:
1.测试一个使用GET方法的网页
python3 xsstrike.py -u "http://example.com/search.php?q=query
2.测试POST数据
python3 xsstrike.py -u "http://example.com/search.php" --data "q=query"
python3 xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"} --json'
3.测试URL路径
python3 xsstrike.py -u "http://example.com/search/form/query" --path
4.从目标网页开始搜寻目标并进行测试
python3 xsstrike.py -u "http://example.com/page.php" --crawl
指定爬网的深度,默认2, -l
python3 xsstrike.py -u "http://example.com/page.php" --crawl -l 3
5.如果要测试文件中的URL,或者只是想添加种子进行爬网,则可以使用该--seeds选项
python xsstrike.py --seeds urls.txt
6.查找隐藏的参数,通过解析HTML和暴力破解来查找隐藏的参数
python3 xsstrike.py -u "http://example.com/page.php" --params
7.盲XSS,爬行中使用此参数可向每个html表单里面的每个变量插入xss代码
python3 xsstrike.py -u http://example.com/page.php?q=query --crawl --blind
8.模糊测试--fuzzer,该模糊器旨在测试过滤器和Web应用程序防火墙,可使用-d选项将延迟设置为1秒。
python3 xsstrike.py -u "http://example.com/search.php?q=query" --fuzzer
9.跳过DOM扫描,在爬网时可跳过DOM XSS扫描,以节省时间
python3 xsstrike.py -u "http://example.com/search.php?q=query" --skip-dom
10.更新如果跟上--updata选项,XSStrike将检查更新。如果有更新的版本可用,XSStrike将下载更新并将其合并到当前目录中,而不会覆盖其他文件。
python3 xsstrike.py --update
可以FUZZ一波然后去绕过WAF。
四、FUZZ字典配合BP
五、XSS跨站安全修复建议
1、开启httponly,输入过滤,输出过滤等
2、输入输出过滤
3、php
https://zuimoge.com/212.html
4、Java
cnblogs.com/baixiansheng/p/9001522.html
配置过滤器等等。
Java XSS 平台
https://gitee.com/yhtmxl/imxss