

WEB漏洞-XSS跨站
经典的分析思路
关键字拆分,确定被拦截的内容
常规WAF绕过思路
标签语法替换
利用不同的操作语句实现,比如超链接“a hrer=”恶意代码””,图片错误“img src=”xxx” onerror=”恶意代码””
特殊符号干扰
用引号括起网址代替闭合用的后尖括号
用引号括起网址后,在后引号和后尖括号间加入特殊符号(如井号“#”)
利用“/”将“a href”变为“a /href”
提交方式更改
更改提交方式,需要页面支持
垃圾数据溢出
用引号括起网址后,在后引号和后尖括号间加入垃圾字符
加密解密算法
例:?name=<a/href=Java%0a%0d%09script:alert(1)>click\
结合其他漏洞绕过
自动化工具说明
XSStrike:(python3)
主要特点反射和DOM XSS扫描
多线程爬虫
Context分析
可配置的核心
检测和规避WAF
老旧的JS库扫描
智能payload生成器
手工制作的HTML & JavaScript解析器
强大的fuzzing引擎
盲打XSS支持
高效的工作流
完整的HTTP支持
Bruteforce payloads支持
Payload编码
参数说明
-h, --help //显示帮助信息
-u, --url //指定目标URL
--data //POST方式提交内容
-v, --verbose //详细输出
-f, --file //加载自定义paload字典
-t, --threads //定义线程数
-l, --level //爬行深度
-t, --encode //定义payload编码方式
--json //将POST数据视为JSON
--path //测试URL路径组件
--seeds //从文件中测试、抓取URL
--fuzzer //测试过滤器和Web应用程序防火墙。
--update //更新
--timeout //设置超时时间
--params //指定参数
--crawl //爬行
--proxy //使用代理
--blind //盲测试
--skip //跳过确认提示
--skip-dom //跳过DOM扫描
--headers //提供HTTP标头
-d, --delay //设置延迟
fuzz字典配合burp suite
抓取数据包,发送到Intruder模式下
在Positions添加变量,在Payloads中载入“Load...”字典
在Results中根据长度“Length”判断是否拦截,2695说明被安全狗拦截
别忘记闭合
安全修复方案
使用waf,开启 httponly,输入过滤,输出过滤等
PHP:http://www.zuimoge.com/212.html
JAVA:https://www.cnblogs.com/baixiansheng/p/9001522.html
JAVA XSS平台练习
https://gitee.com/yhtmxl/imxss/
涉及资源:
基于Java的Xss漏洞测试平台:https://gitee.com/yhtmxl/imxss/
xwaf:https://github.com/3xp10it/xwaf
XSS Fuzzer:https://xssfuzzer.com/fuzzer.html
XSStrike:https://github.com/s0md3v/XSStrike
绕过XSS检测机制:https://bbs.pediy.com/thread-250852.htm
fuzzDicts(Fuzz字典):https://github.com/TheKingOfDuck/fuzzDicts
PHP(被阻断):http://www.zuimoge.com/212.html
关于XSS漏洞修复(JAVA):https://www.cnblogs.com/baixiansheng/p/9001522.html