
CVE-2026-0740용 익스플로잇 스크립트로, Ninja Forms 파일 업로드 엔드포인트를 대상으로 PHP 셸을 업로드하고, URL 목록을 스캔하여 성공적인 업로드를 기록합니다.
WordPress 사이트의 Ninja Forms 플러그인을 대상으로 하는 파일 업로드 엔드포인트를 사용하는 실험적/도구 스크립트입니다. list.txt에 있는 대상에 순차적으로 요청을 보내고, 성공한 업로드를 shell.txt 파일에 기록합니다.
urllib3와 함께 일반적으로 설치됨)pip install requests urllib3
| 파일 | 설명 |
|---|
ninja.py | 메인 스크립트. |
list.txt | 대상 URL; 각 줄에 하나의 URL (http/https, 선택적 포트). 빈 줄은 무시됩니다. |
shell.txt | (출력) 성공한 업로드 시 shell URL이 추가 모드(a)로 저장됩니다. |
스크립트 상단의 상수는 대상 플러그인/폼 구조에 맞게 조정해야 합니다:
FORM_ID — 폼 IDFIELD_ID — 필드 IDSHELL_NAME — 서버에서 사용되는 파일 이름SHELL_CONTENT — 업로드되는 PHP 콘텐츠SSL 검증이 비활성화되어 있습니다(verify=False); 신뢰하는 테스트 환경에서만 사용하세요.
프로젝트 폴더에 list.txt가 있는지 확인한 후:
python ninja.py
진행 상황 및 오류 메시지는 표준 출력에 기록됩니다. 사용자가 프로세스를 중단하면 KeyboardInterrupt로 깔끔하게 종료됩니다.
list.txt가 없으면 스크립트는 오류를 내고 종료됩니다.admin-ajax.php를 통해 nonce를 가져옵니다 (nf_fu_get_new_nonce).nf_fu_upload).shell.txt 파일에 추가됩니다.