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绕过, 日志审计, 漏洞扫描辅助