jakeloai/JLFPayloadObfuscator

GitHub: jakeloai/JLFPayloadObfuscator

纯Go编写的payload混淆与编码引擎,将标准测试payload变异为多种格式,用于配合Web模糊测试工具进行WAF绕过测试。

Stars: 1 | Forks: 0

# JLFPayloadObfuscator 用于 Web 应用程序渗透测试的高级 WAF 绕过字典生成器。 开发者:**jakeloai+AI** ## 概述 JLFPayloadObfuscator 是一个高性能的 payload 变异和编码引擎,使用纯 Go 编写(仅使用标准库)。它接受标准的测试 payload、webshell 或 exploit 字符串,并生成多种混淆和编码变体,可与 ffuf、Burp Intruder 或自定义测试框架等 Web 模糊测试工具配合使用。 该工具专为需要在精确参数测试期间绕过高级 WAF(Web 应用防火墙)规则的 QA 工程师、应用程序安全测试人员和漏洞赏金猎人而设计。 ## 功能 ### 输入处理 - 通过 `-p` 标志指定单个 payload 字符串 - 通过 `-f` 标志指定多行 payload 文件 - 自动修剪空白字符并丢弃空行 ### 编码与变异模块 #### 通用编码 (`-m general`) - 标准 URL 编码 - 双重 URL 编码 - 纯十六进制编码 - 带有 `\x` 前缀的十六进制 - 带有 `0x` 前缀的十六进制 - HTML 实体编码(十进制) - HTML 实体编码(十六进制) - Unicode 转义序列(`\u00xx` 格式) - Base64 编码 - 链式变体(Base64 + URL 编码,URL 编码 + Base64) #### SQL 注入变异 (`-m sql`) - 内联注释替换空格(`/**/` 或 `+`) - 关键字大小写随机化(`SeLeCt`、`UnIoN`、`FrOm` 等) - 与通用编码结合的复合变异 #### XSS 变异 (`-m xss`) - 标签大小写随机化(`" -m xss -o xss_wordlist.txt ``` #### 单个 Payload - PHP Webshell ``` ./jlfpayload -p "" -m php -o php_wordlist.txt ``` #### 文件输入 - 多个 Payload ``` ./jlfpayload -f payloads.txt -m all -o obfuscated_wordlist.txt ``` #### 仅使用通用编码 ``` ./jlfpayload -p "admin' OR '1'='1" -m general -o general.txt ``` ### 命令行标志 | 标志 | 描述 | 默认值 | |------|-------------|---------| | `-p` | 要混淆的单个 payload 字符串 | (无) | | `-f` | 包含多行 payload 的文件路径 | (无) | | `-o` | 输出文件路径 | `obfuscated_wordlist.txt` | | `-m` | 模式过滤器:`sql`、`xss`、`php`、`general`、`all` | `all` | ### 与 ffuf 配合使用 ``` # 生成 wordlist ./jlfpayload -f my_payloads.txt -m all -o fuzz_wordlist.txt # 使用 ffuf 进行 Fuzz ffuf -w fuzz_wordlist.txt -u "https://target.com/api?param=FUZZ" -mc 200,301,302,403 ``` ## 输入文件格式 输入文件 (`-f`) 应每行包含一个 payload: ``` ' OR 1=1-- admin' -- 1' AND 1=1 UNION SELECT null, version() -- ``` 空行和首尾空白字符将被自动剔除。 ## 输出格式 输出文件每行包含一个混淆变体: ``` ' OR 1=1-- %27%20OR%201%3D1-- ' OR 1=1-- ' OR 1=1-- JyBPUiAxPTEtLQ== '/**/OR/**/1=1-- '/**/oR/**/1=1-- ... ``` ## 架构 ``` Input Layer (flag parsing) | v Payload Splitting & Cleaning | v Obfuscation Engine |-- General Encoders |-- SQL Mutators |-- XSS Mutators |-- PHP Mutators | v Deduplication (map[string]bool) | v Streaming Output to .txt | v Status Report + MD5 Audit Hash ``` ## 技术细节 ### 纯标准库 JLFPayloadObfuscator 仅使用 Go 标准库包: - `encoding/base64` - Base64 编码 - `encoding/hex` - 十六进制编码 - `net/url` - URL 编码 - `crypto/md5` - 用于审计的 MD5 哈希 - `math/rand` - 随机大小写生成 - `strings`、`bufio`、`os`、`flag`、`fmt`、`time` 无外部依赖。零 CGO。可在 Go 支持的任何平台上顺利编译。 ### 去重策略 所有变体在写入磁盘之前都存储在 `map[string]bool` 中。这确保了: - 100% 唯一的输出 - 不会出现字典臃肿 - 输出大小与输入复杂度呈确定性关系 ### 随机大小写生成 大小写随机化使用以当前时间为种子的 `math/rand`。每次执行可能会对相同的输入产生略微不同的大小写模式,从而提高多次运行中的 WAF 绕过概率。 ## 使用场景 | 场景 | 推荐模式 | |----------|-----------------| | SQL 注入测试 | `-m sql` | | XSS / 基于 DOM 的测试 | `-m xss` | | PHP 文件上传 / eval 测试 | `-m php` | | 通用参数模糊测试 | `-m general` | | 全面 WAF 绕过 | `-m all` | | 未知目标 / 盲测 | `-m all` | ## 限制与范围 此工具运行在**字符串级混淆**层。它不会: - 解析或理解 SQL/HTML/PHP 语法树 - 执行主动扫描或漏洞检测 - 处理二进制协议(Protobuf、gRPC) - 生成新型 exploit(仅变异提供的 payload) - 绕过基于行为的 WAF 规则(速率限制、IP 信誉) 它被设计为您测试流水线中的**预处理器**: 1. 您发现或构造一个 payload 2. PayloadObfuscator 生成变体 3. 您将变体提供给 ffuf/Burp 进行精确测试 ## 安全与法律声明 此工具仅供**授权安全测试**使用。 - 仅对您拥有或获得明确书面测试许可的系统使用 - 在大多数司法管辖区,未经授权访问计算机系统是非法的 - 开发者对滥用本软件不承担任何责任 - 始终遵循负责任的披露实践 ## 版本历史 ### v1.0.0 - 初始版本 - 通用编码模块(URL、Hex、HTML、Unicode、Base64) - SQL 注入变异模块 - XSS 变异模块 - PHP 动态脚本变异模块 - 文件 I/O 与 MD5 审计哈希 - 跨平台编译支持 ## 开发者 **jakeloai+AI** 专为 Web 应用程序安全测试社区而构建。 ## 许可证 MIT License - 详情请参阅 LICENSE 文件。
标签:CISA项目, DNS 反向解析, EVTX分析, Go, Payload混淆, Ruby工具, WAF绕过, 日志审计, 漏洞扫描辅助