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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
WPSniper — CVE-2026-87902 탐지기. WordPress get_page_template LFI 클래스. 탐지 전용. 승인된 랩. | Kitploit
도구/GitHubGitHub/ynsmroztas/wpsniper
ReconnaissanceVulnerability ScannersWeb Vulnerability ScannersVulnerability AnalysisInformation GatheringWeb SecurityPenetration Testing
GitHubynsmroztas/wpsniper

WPSniper

CVE-2026-87902 탐지기. WordPress get_page_template LFI 클래스. 탐지 전용. 승인된 랩.

저장소 보기
17시간 7분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

WPSniper — CVE-2026-87902 탐지기

WPSniper

WordPress Core용 CVE-2026-87902 탐지기.

get_page_template()은 페이지 템플릿 해석이 활성 테마 외부의 읽기 가능한 로컬 .php 파일을 포함하도록 조작될 수 있습니다. WPSniper는 사이트를 핑거프린팅하고, 발행된 page_id를 선택하고, include 클래스를 프로브하며, 프로브 본문에만 고유한 강력한 PEAR 배너가 있을 때만 VULN을 출력합니다.

탐지만. 웹셸 없음. pearcmd config-create 없음. OS 명령 실행 없음.

root@kitploit:~
python3 WPSniper.py -u https://lab.wordpress.local --shell

파이프라인:

root@kitploit:~
subfinder -d lab.example -silent | httpx -silent | python3 WPSniper.py -t 8

서면 범위. 자체 랩. 그것이 실행에 대한 전체 라이선스입니다.


편집된 WPSniper 랩 세션

클래스

WordPress는 URL에서 파생되고 url-decoded된 pagename 쿼리 변수로부터 페이지 템플릿 이름을 구성합니다:

page-{$pagename}.php

그런 다음 locate_template()이 해당 파일을 포함합니다. 영향을 받는 빌드에서는 해석된 경로가 허용된 테마 디렉터리 내부에 머물도록 강제되지 않습니다. pagename의 이중 인코딩된 트래버설은 sanitize_title을 통과하여 get_page_template()이 한 번 디코딩하고 테마 트리 밖으로 벗어날 수 있을 만큼 충분히 살아남습니다.

닫힌 include 앞에는 두 가지 전제 조건이 있습니다:

  1. 활성 부모 또는 자식 테마에 이름이 page-로 시작하는 최상위 디렉터리가 있습니다 (WordPress는 page-templates/를 문서화합니다 — Twenty Twelve, Twenty Fourteen, Neve, Hestia, Sydney 등).
  2. 웹 서버 계정에 대해 읽기 가능한 .php 대상이 존재합니다. 탐지기는 include 오라클로 스톡 PEAR CLI 배너를 사용합니다. 탐지기는 그것을 작성하지 않습니다.

RCE는 그러한 조건에 쓰기 가능/실행 가능한 가젯이 더해질 때 가능한 후속 결과입니다. 그 후속 결과는 이 저장소에 없습니다.

CVE 발견자 크레딧: Robert (ressl), WordPress HackerOne 경유. 권고: GHSA-7hp8-65ch-5whp.


WPSniper 탐지 흐름

운영자가 하는 일

버전 테이블은 내장되어 있습니다. 4.7.0–7.1.1이 영향을 받는 범위입니다. 패치된 지점: 7.1.2, 7.0.6, 6.9.9, 6.8.10 … 4.7.37까지 거슬러.

확인 규칙

블로그 게시물에서 "pearcmd"라고 말하는 마케팅 페이지는 적중이 아닙니다.

다음이 모두 참일 때만 VULN:

  • 프로브 본문 다이제스트 ≠ 베이스라인 ?page_id= 다이제스트
  • 최소 하나의 강력한 토큰이 프로브에 고유함 (PEAR Version:, Usage: pear, PEAR_Config, Commands for pear, config-create, DEPRECATED: PEAR commands, pear.php)
  • 약한 토큰 pearcmd / PEAR 단독은 폐기됨, 특히 이미 베이스라인 HTML에 있었던 경우

INFO = 영향받는 버전 및/또는 page-templates 디렉터리, include가 닫히지 않음. INFO에 대해 critical을 제출하지 마십시오.

SAFE = 패치된 브랜치, 또는 include가 베이스라인과 동일함.

SKIP = WordPress가 아님, 잘못된 URL.

/etc/passwd는 이 CVE에 대한 잘못된 오라클입니다. locate_template()은 .php를 덧붙입니다. 대화형 passwd 명령은 여러분이 직접 그것을 확인할 수 있도록 존재합니다. root:x:0:0: 스탠자가 나타나는 것은 이례적이며 수동으로 검증해야 합니다.

설치

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 WPSniper.py -u https://lab.wordpress.local

requests가 필요합니다.

플래그

--shell은 파이프라인에서 무시됩니다. 이는 의도적입니다.

대화형 셸

root@kitploit:~
python3 WPSniper.py -u https://lab.wordpress.local --shell
root@kitploit:~
[email protected] ▶
  1 fp        version / theme / patched?
  2 pages     REST published pages
  3 theme     page-templates directory
  4 probe     PEAR include + baseline diff   (no write)
  5 diff      same, print Δ + tokens
  6 passwd    try …/etc/passwd               (this class includes *.php)
  7 include P include a .php path without suffix
  8 save      last body → /tmp/wpsniper-probe.html
  9 help
  0 exit

모든 프로브는 전체 URL과 복사-붙여넣기 가능한 curl을 출력합니다. 보고서에 그것을 사용하십시오. 두 번째 요청을 만들어내지 마십시오.

7 include는 여러분이 이미 배치한 승인된 랩 파일을 위한 것입니다. 도움말 텍스트의 예시 이름은 증거 마커이며 드로퍼가 아닙니다.

랩 세션 (편집됨)

root@kitploit:~
WPSniper v1.3   CVE-2026-87902  get_page_template LFI
[radar] target  https://lab.wordpress.local
[radar] generator=6.8.3  theme=twentytwelve  status=affected
[radar] page_id=2
[radar] theme dir /wp-content/themes/twentytwelve/page-templates/ → 403

VULN  lab.wordpress.local  unique=['PEAR Version:','Usage: pear'] Δlen=+18420

patched  7.1.2 · 7.0.6 · 6.8.10 · backports to 4.7.37

이 페이지의 호스트는 랩 레이블입니다. 실제 고객 호스트 이름은 공개 스틸에 속하지 않습니다.

패치

7.1.2 또는 여러분의 브랜치용 백포트로 업그레이드하십시오:

7.0.6 · 6.9.9 · 6.8.10 · 6.7.9 · 6.6.9 · 6.5.12 · 6.4.12 · 6.3.12 · 6.2.13 · 6.1.14 · 6.0.16 · 5.9.18 … 4.7.37까지.

7.1.2는 또한 해석된 템플릿 경로가 허용된 테마 디렉터리 내부에 머물 것을 요구합니다. 그것이 실제 수정이며, WAF 규칙이 아닙니다.

이 저장소가 하지 않는 것

  • 웹셸 없음, pearcmd config-create 없음, system() 래퍼 없음
  • 인터넷 대량 스캔 플레이북 없음
  • 모든 WordPress 6.x 박스가 RCE라는 주장 없음
  • 원시 /etc/passwd를 주요 확인으로 사용하지 않음

발견 사항이 필요하면: WPSniper가 이미 출력한 curl, 고유한 강력한 토큰, 그리고 베이스라인 다이제스트 불일치를 첨부하십시오.

면책 조항

승인된 보안 테스트 전용. 여러분이 소유하지 않았거나 서면으로 허가받지 않은 호스트에 대해 이것을 실행하는 것은 도구가 아닌 여러분의 책임입니다.

링크

  • 사이트: ynsmroztas.github.io
  • X: @ynsmroztas
  • CVE: CVE-2026-87902

mitsec · Yunus Emre Öztaş

도구 다운로드
단계작업신호
1홈 + generator + /feed/WordPress? 버전? 테마 슬러그?
2REST /wp-json/wp/v2/pages 또는 HTML의 page_id=템플릿 경로가 실제로 실행되도록 발행된 페이지
3GET /wp-content/themes/{slug}/page-templates/200 / 401 / 403 = 디렉터리 존재
4베이스라인 ?page_id=N vs 프로브 pagename=본문 다이제스트 + 고유한 강력한 PEAR 토큰
플래그의미
-u URL단일 대상
-l fileURL 목록
stdinsubfinder | httpx | WPSniper
-t N목록에 대한 스레드 (기본 6)
-q조용한 행 + 요약
--shell단일 -u에 대한 대화형 프로브
--timeout초 (기본 14)