找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2688

积分

0

好友

375

主题
发表于 16 小时前 | 查看: 0| 回复: 0

一个用于测试文件上传功能安全性的 Burp Suite 插件。通过 Intruder 模块自动生成各类绕过 payload,覆盖常见的文件上传限制场景。

v1.2.0 更新内容

架构重构

  • 采用策略模式重写,代码结构更清晰
  • 新增配置面板,可自定义测试范围
  • 支持 Burp Suite 深色主题

功能增强

  • 新增后端语言选择(PHP/ASP/ASPX/JSP)
  • 新增 14 种独立的 Fuzz 策略,可单独启用/禁用
  • payload 数量提升至 1000+
  • 优化去重算法,减少无效请求

新增测试点

  • 双写绕过:pphphp、aspasp
  • form-data 污染:多分号、脏数据替换
  • 未闭合引号:filename=“shell.php
  • URL 编码 Content-Type:image%2Fphp
  • 配置文件内容注入:.htaccess / .user.ini 实际利用内容

测试覆盖范围

后缀绕过

  • 可执行扩展名变体:php3/php5/phtml/phar/asa/cer/ashx/jspx 等
  • 大小写混淆:pHp、PhP、aSp、JsP
  • 双写绕过:pphphp、aspasp、jspjsp
  • 特殊字符:空格、点号、分号(shell.php.、shell.php;.jpg)
  • 空字节截断:shell.php%00.jpg

请求头操控

  • Content-Disposition 大小写:ConTENT-DisPoSition
  • form-data 污染:删除、替换为脏数据、多分号
  • filename 参数:双 filename、空 filename、未闭合引号、多等号
  • 换行注入:filename\n=“shell.php”`

Content-Type 绕过

  • MIME 类型伪造:image/gif、image/png、application/octet-stream
  • URL 编码:image%2Fgif、image%2Fphp
  • 双重 Content-Type 头
  • 大小写变换

系统特性利用

  • Windows
    • NTFS 数据流:shell.php::$DATA
    • IIS 分号解析:shell.asp;.jpg
    • 保留设备名:con.php、aux.asp
    • 尾部空格/点号
  • Linux
    • Apache 多扩展名:shell.php.jpg
    • 路径穿越:../shell.php
    • 隐藏文件:.shell.php

编码绕过

  • URL 编码扩展名:%70%68%70
  • 双重 URL 编码
  • MIME 编码(RFC 2047)
  • Unicode 字符替换

配置文件上传

  • .htaccess:SetHandler 解析任意文件为 PHP
  • .user.ini:auto_prepend_file 文件包含
  • web.config:IIS handlers 配置

文件内容

  • 魔术字节注入:GIF89a、PNG 头、PDF 头
  • WebShell 内容(可选)
  • 图片头 + WebShell 组合

插件环境安装

本插件需要 Python 环境,Burp Suite 本身基于 Java,而 Jython 则是运行在 JVM 上的 Python 实现。

Jython 下载地址

https://www.jython.org/download

Jython 2.7.4官网下载页面

为了避免部分用户在安装时可能遇到的错误,可以参考以下步骤进行安装,成功率较高。

  1. 在系统盘(例如 C 盘)创建一个不含中文名的文件夹。将下载好的 jython-installer-2.7.4.jar 文件放入此文件夹。
    存放 Jython 安装器的文件夹

  2. 在该文件夹路径下打开命令行,先确认 Java 版本(需要 Java 8 或更高版本),然后直接运行 Jython 安装器。

    java -version
    java -jar .\jython-installer-2.7.4.jar

    执行 Jython 安装命令

  3. 启动安装向导,点击 “Next” 继续。
    Jython 安装向导欢迎界面

  4. 阅读并接受许可证协议,点击 “I accept”,然后 “Next”。
    Jython 安装许可协议界面

  5. 选择安装类型,直接使用默认的 “Standard” 即可,点击 “Next”。
    Jython 安装类型选择

  6. 选择 Jython 的安装目录。同样建议路径中不要包含中文,可以使用默认路径 C:\jython2.7.4,点击 “Next”。
    选择 Jython 安装目录

  7. 等待安装完成。安装成功后,进入你选择的安装目录(例如 C:\jython2.7.4)。
    Jython 安装目录文件列表

  8. 确认目录中存在 jython.jar 文件,这表示 Jython 已成功安装。接下来需要在 Burp Suite 中配置此环境。

在 Burp Suite 中配置 Jython 环境

以 Burp Suite 2025.3.1 版本为例。

  1. 打开 Burp Suite,进入 Extender -> Extensions 标签页。
    Burp Suite Extender 扩展管理界面

  2. 向下滚动到 Python Environment 区域进行配置。
    Burp Suite Python 环境配置区域

  3. 设置 Location of Jython standalone JAR file:点击 “Select file...”,导航到你的 Jython 安装目录,选择 jython.jar 文件。
    选择 jython.jar 文件

  4. 设置 Folder for loading modules:点击 “Select folder...”,选择你的 Jython 安装目录(例如 C:\jython2.7.4)。
    选择 Jython 模块加载文件夹

至此,运行 Python 扩展所需的环境就已配置完成。

插件安装

Upload Auto Fuzz 插件下载地址

https://github.com/T3nk0/Upload_Auto_Fuzz

这是该插件的官方 GitHub 仓库,你可以在这里获取最新版本和源代码。

  1. 在 Burp Suite 的 Extender -> Extensions 标签页,点击 “Add” 按钮。
    Burp Suite 添加扩展按钮

  2. 在弹出的文件选择框中,定位到你下载的插件脚本 Upload_Auto_Fuzz.py,选择并打开。
    选择 Upload_Auto_Fuzz.py 插件文件

  3. 确认扩展详情,确保输出和错误显示在 UI 中,然后点击 “Next”。
    扩展详情配置界面

  4. 插件加载成功后,输出窗口会显示加载日志和插件简介。
    插件加载成功输出信息

  5. 此时,Extensions 标签页下会出现一个新的 Upload Auto Fuzz 面板,你可以在这里配置目标后端语言和启用的 Fuzzing 策略。
    Upload Auto Fuzz 插件配置面板

插件使用

  1. 遇到文件上传点,先正常上传一个文件(如图片)并抓取请求。

  2. 将抓到的 POST 请求发送到 Intruder 模块。
    文件上传请求数据包示例

  3. Positions 标签页,清空所有自动标记,手动标记需要 Fuzz 的区域。建议选中整个文件部分,包括 Content-Disposition 头、Content-Type 头和文件内容。

  4. 切换到 Payloads 标签页进行配置:

    • Payload type: 选择 Extension-generated
    • Select generator: 选择 upload_auto_fuzz
      配置 Intruder 使用扩展生成 Payload
  5. 重要步骤:在 Payload Encoding 区域,取消勾选 URL-encode these characters,以确保特殊字符 payload 不被编码。
    取消 Payload 编码选项

  6. 点击 “Start attack” 开始攻击。攻击完成后,可以根据响应长度、状态码等条件筛选可能成功的上传绕过 payload。

插件策略与示例

该插件内置了多种针对文件上传漏洞的绕过策略,能够自动化生成丰富的测试用例,极大地提升了安全测试效率。

部分 Payload 示例
文件上传绕过 Payload 示例表

策略说明
插件将测试点抽象为不同的策略,每项策略对应一类绕过技术,用户可以根据目标环境选择性启用。
Upload Auto Fuzz 插件策略列表

通过本教程,你可以顺利完成 Jython 环境的搭建,并成功配置使用功能强大的 Upload Auto Fuzz 插件,从而系统化地进行文件上传漏洞的检测。如果在配置过程中遇到问题,或想了解更多关于 Python 与安全工具的深度集成,欢迎在技术社区进行交流与探讨。




上一篇:TRAE IDE开发指南:10个必备MCP Server功能详解与实战场景
下一篇:2025年AI基础设施六大关键技术详解:分布式推理、TileLang、训推分离与协同设计
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-26 18:43 , Processed in 0.376198 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表