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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-87902-Toolkit — WordPress CVE-2026-87902 LFI-to-RCE 툴킷으로, 무기화된 익스플로잇 체인(PEAR RCE, 웹셸, 관리자 생성, 정보 탈취)과 비침투적 SafeChecker 버전 및 위험 감사기를 제공합니다. | Kitploit
도구/GitHubGitHub/tc4dy/cve-2026-87902-toolkit
Defensive ToolsVulnerability ScannersPayload GenerationExploitationReverse EngineeringWeb Application ExploitationPost-ExploitationWeb SecurityPenetration TestingLearning & EducationRed Teaming
134416일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
tc4dy/cve-2026-87902-toolkit

CVE-2026-87902-Toolkit

WordPress CVE-2026-87902 LFI-to-RCE 툴킷으로, 무기화된 익스플로잇 체인(PEAR RCE, 웹셸, 관리자 생성, 정보 탈취)과 비침투적 SafeChecker 버전 및 위험 감사기를 제공합니다.

저장소 보기

CVEPoC

CVE‑2026‑87902 – WordPress 비인증 LFI→RCE 툴킷

Python 3.8+ CVSS Author WordPress

윤리적 사용만 허용 – 승인된 보안 테스트
이 저장소는 승인된 보안 전문가, 블루팀, 침투 테스터만을 위한 도구를 제공합니다.
컴퓨터 시스템에 대한 무단 접근은 CFAA(미국), Computer Misuse Act(영국), TCK 243/244(터키) 및 전 세계의 유사 법률에 따라 불법입니다.


취약점 개요

CVE‑2026‑87902는 WordPress Core(버전 4.7.0부터 7.1.1까지)의 치명적인 비인증 경로 탐색 및 로컬 파일 포함(LFI) 취약점으로, 비인증 공격자가 pagename 쿼리 매개변수를 통해 임의의 로컬 .php 파일을 포함할 수 있게 하며, 특정 서버 조건에서는 PEAR pearcmd.php 파일을 연계하여 원격 코드 실행(RCE) 으로 권한 상승할 수 있습니다. CVSS 점수: 9.2 (치명적). 2026년 7월 WordPress의 HackerOne 프로그램을 통해 Robert Ressl에 의해 공개되었습니다. 2026년 9월 22일 7.1.2에서 패치되었으며, 4.7까지 백포트되었습니다.

이 결함은 2016년 이후 모든 WordPress 릴리스에 영향을 미칩니다 — 코드 검토를 통과한 10년간의 버전입니다. 근본 원인은 CMS에서 가장 많이 통과되는 코드 경로 중 하나에 있는 단일 누락된 검증 호출입니다.

작동 방식

  1. 정제되지 않은 템플릿 해석 – wp-includes/template.php의 get_page_template()은 pagename 쿼리 변수로부터 템플릿 후보를 구성합니다. 같은 함수의 인접한 코드 경로는 ../ 시퀀스를 차단하기 위해 validate_file()을 적용하지만, $pagename 분기는 이를 호출하지 않습니다. pagename의 모든 탐색은 검사 없이 통과합니다.

  2. 이중 인코딩 탐색 우회 – WordPress는 pagename에 sanitize_title_for_query()를 적용하여 리터럴 점(.)을 하이픈으로 대체하여 탐색을 방지합니다. 그러나 이 함수는 이미 디코딩된 입력에 대해 작동하며 재귀적으로 디코딩하지 않습니다. 공격자가 %252e%252e%252f를 전송하면; 웹 서버가 한 번 디코딩하여 %2e%2e%2f로 만듭니다; 정제기는 리터럴 점을 보지 못하고 통과시킵니다; 그런 다음 get_page_template()이 함수 내부에서 urldecode()를 다시 호출하여 ../를 생성합니다.

  3. 테마 디렉토리 전제 조건 – 활성 테마는 이름이 page-로 시작하는 최상위 디렉토리(예: page-templates/)를 포함해야 합니다. 구성된 파일명 page-{pagename}.php는 탐색을 통해 테마 루트를 탈출합니다. 이전 기본 테마(Twenty Twelve, Twenty Fourteen)와 인기 있는 타사 테마(Neve, Hestia, Sydney)는 이 디렉토리를 제공합니다. 이러한 부모로부터 상속받은 자식 테마도 전제 조건을 충족합니다.

  4. locate_template()의 LFI 싱크 – 후보 경로는 테마 디렉토리를 검색하는 locate_template()에 전달됩니다. 탐색이 해당 디렉토리 외부의 파일로 해석되고 함수가 file_exists()만 확인하기 때문에, 읽을 수 있는 모든 .php 파일이 전체 웹 서버 권한으로 포함됩니다. 이는 LFI를 테마 전제 조건을 충족하는 모든 패치되지 않은 사이트에서 무조건적으로 만듭니다 — 데이터베이스 자격 증명과 인증 솔트가 포함된 wp-config.php를 포함하여.

  5. PEAR pearcmd.php RCE 권한 상승 – PEAR는 많은 PHP 설치와 함께 제공됩니다. pearcmd.php는 일반적으로 CLI 전용이지만, register_argc_argv=On일 때 PHP는 URL 쿼리 문자열에서 $_SERVER['argv']를 채웁니다. 공격자는 LFI를 통해 pearcmd.php를 포함하고, config-create를 인수로 전달하며, PHP 코드와 출력 경로(/tmp/shell.php)를 제공합니다. PEAR는 공격자의 코드를 디스크에 기록합니다; 두 번째 포함이 이를 실행합니다.

  6. 두 번째 악용 경로 – name(프론트 페이지 슬러그), page_id(게시물 페이지 ID), preview=true 및 pagename 페이로드를 결합한 요청은 WP_Query를 post_name 분기로 우회시키며, 이는 sanitize_title_for_query()를 통해 pagename을 절대 재작성하지 않습니다. 이는 탐색에서 리터럴 점을 허용합니다. single.php가 없는 테마가 필요합니다.

  7. 서버 구성 요구 사항 – RCE는 실제 배포에서 흔한 두 가지 조건에 의존합니다: pearcmd.php 존재/읽기 가능(공유 호스팅, cPanel, 공식 PHP Docker 이미지에서 빈번함), 그리고 register_argc_argv=On(PHP 8.5 미만에서 기본값). PHP 8.5는 기본값을 Off로 변경했습니다. PEAR가 없는 최신 PHP 8.5+ 서버에서는 악용이 LFI에서 중단됩니다.

  8. 패치 – WordPress 7.1.2는 두 계층의 방어를 추가합니다: (a) pagename 분기의 누락된 validate_file() 호출, 그리고 (b) 모든 해석된 템플릿에 대해 locate_template()이 호출하는 새로운 _wp_is_template_path_allowed() 함수. 이 함수는 ..를 포함하는 경로를 거부한 다음, realpath()를 통해 실제 경로를 해석하고 허용된 테마 디렉토리 중 하나 내에 있는지 확인합니다. 이 심층 방어는 싱크를 닫으며, 단지 하나의 경로만이 아닙니다.

  9. 야생에서의 활성 악용 – 패치 릴리스 후 5시간 만에 첫 악성 요청이 관찰되었습니다(2026년 9월 22일 17:44 UTC). 트래픽은 다음 날 10배 증가했습니다. 세 단계가 관찰되었습니다: config-show 정찰 → 코어 파일 탐지 → config-create 무기화. 페이로드 파일명에는 wp-pear-rce-flag.php, poc87902.php, luci_*.php, zeta_*.php가 포함되었으며, /tmp 및 /var/tmp에 기록되었습니다. 공격 IP: 169.58.48.193, 169.58.48.195, 2001:df1:e8c0::106b.

  10. 영향 – 웹 서버 권한으로 코드 실행. 전체 사이트 탈취, wp-config.php 자격 증명 도용, 데이터 유출, 웹셸 설치, 관리자 사용자 생성, 리버스 셸, 수정된 플러그인/테마를 통한 공급망 공격, 연결된 서비스로의 측면 이동. CVSS 9.2 점수는 네트워크 악용 가능, 인증 불필요, 높은 기밀성/무결성/가용성 영향을 반영합니다. 높은 공격 복잡성은 테마 및 서버 전제 조건을 반영하지만, 일반적인 공유 호스팅에서는 이러한 조건이 자주 충족됩니다.

영향을 받는 버전

  • 4.7.0 – 4.7.37 – 취약
  • 4.8.0 – 4.8.32 – 취약
  • 4.9.0 – 4.9.33 – 취약
  • 5.0.0 – 5.0.29 – 취약
  • 5.1.0 – 5.1.26 – 취약
  • 5.2.0 – 5.2.28 – 취약
  • 5.3.0 – 5.3.25 – 취약
  • 5.4.0 – 5.4.23 – 취약
  • 5.5.0 – 5.5.22 – 취약
  • 5.6.0 – 5.6.21 – 취약
  • 5.7.0 – 5.7.19 – 취약
  • 5.8.0 – 5.8.17 – 취약
  • 5.9.0 – 5.9.18 – 취약
  • 6.0.0 – 6.0.16 – 취약
  • 6.1.0 – 6.1.14 – 취약
  • 6.2.0 – 6.2.13 – 취약
  • 6.3.0 – 6.3.12 – 취약
  • 6.4.0 – 6.4.12 – 취약
  • 6.5.0 – 6.5.12 – 취약
  • 6.6.0 – 6.6.9 – 취약
  • 6.7.0 – 6.7.9 – 취약
  • 6.8.0 – 6.8.10 – 취약
  • 6.9.0 – 6.9.9 – 취약
  • 7.0.0 – 7.0.6 – 취약
  • 7.1.0 – 7.1.1 – 취약

패치

  • 4.7.37, 4.8.32, 4.9.33, 5.0.29, 5.1.26, 5.2.28, 5.3.25, 5.4.23, 5.5.22, 5.6.21, 5.7.19, 5.8.17, 5.9.18, 6.0.16, 6.1.14, 6.2.13, 6.3.12, 6.4.12, 6.5.12, 6.6.9, 6.7.9, 6.8.10, 6.9.9, 7.0.6 또는 7.1.2 이상으로 업그레이드하십시오.
  • 업그레이드가 불가능한 경우, 활성 테마의 page-* 디렉토리 이름을 변경하거나 제거하고, php.ini에서 register_argc_argv=Off로 설정하며, WAF 수준에서 pagename 매개변수의 이중 인코딩 탐색을 차단하십시오.

[</>] 도구

도구목적대상 사용자
exploit.pyLFI 탐지, PEAR RCE 체인, 관리자 사용자 생성, 웹셸 설치, 리버스 셸, 대량 스캔, 스텔스 모드, 프록시 로테이션 및 전체 공격 체인을 갖춘 전체 레드팀 툴킷.레드팀 / 승인된 침투 테스터 (윤리적 사용만)
safecheck.pyWordPress 버전을 탐지하고, 노출을 검증하며, 파일을 포함하거나 페이로드를 실행하지 않고 위험을 평가하는 비침투적 취약점 검사기. JSON 보고서를 생성합니다.블루팀 / 보안 감사자

[</>] 기능 비교

기능exploit.pysafecheck.py
취약점 탐지[+][+]
버전 탐지[+][+]
테마 page-* 디렉토리 확인[+][+]
PEAR pearcmd.php 도달 가능성[+][+]
register_argc_argv 확인[+][+]
WAF 동작 프로브[-][+]
이중 인코딩 LFI 프로브[+][-]
PEAR config-create RCE[+][-]
관리자 사용자 생성[+][-]
웹셸 설치[+][-]
리버스 셸[+][-]
wp-config.php 탈취[+][-]
전체 공격 체인[+][-]
대량 스캔 (멀티스레드)[+][+]
프록시 지원[+][+]
프록시 로테이션[+][-]
User‑Agent 로테이션 (OPSEC)[+][-]
지터 (OPSEC)[+][-]
속도 제한기[+][-]
비침투적 (안전) 모드[-][+]
위험 평가 보고서[+][+]
완화 권장 사항[-][+]
JSON 보고서[+][+]
CSV 보고서[+][+]
HTML 보고서[+][+]
SQLite 출력[+][+]
사용자 정의 User‑Agent[+][+]
SSL 검증 제어[+][+]

[+] 사용 사례 요약

시나리오권장 도구
블루팀 – WordPress가 취약한지 확인safecheck.py
보안 감사 – 비침투적 취약점 평가safecheck.py
레드팀 – 전체 악용을 통한 승인된 침투 테스트exploit.py
버그 바운티 – 책임 있는 공개 테스트safecheck.py
대량 스캔 – 여러 대상의 취약점 확인exploit.py (탐지만)
사고 대응 – 시스템이 침해되었는지 확인safecheck.py

[+] 설치

git clone https://github.com/tc4dy/CVE-2026-87902-Toolkit
cd CVE-2026-87902-Toolkit
pip install -r requirements.txt

requirements.txt

requests
urllib3

[/] 매개변수

exploit.py 매개변수

도구 다운로드