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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
wp2shell-poc2 — CVE-2026-63030 | Kitploit
도구/GitHubGitHub/attackercan/wp2shell-poc2
Exploit FrameworksVulnerability AnalysisWeb Application ExploitationPost-ExploitationPenetration TestingCommand and ControlRed TeamingPayload Development
GitHubattackercan/wp2shell-poc2

wp2shell-poc2

CVE-2026-63030

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

wp2shell-poc

인증되지 않은 SQL 인젝션을 WordPress 코어에서 원격 코드 실행으로 연결하는 개념 증명(PoC)입니다. REST 배치 라우트 혼동(CVE-2026-63030)을 통해 작동합니다.

이 익스플로잇은 접근 가능한 대상 외에는 자격 증명이나 구성이 필요하지 않습니다. 단일 엔드포인트 POST /wp-json/batch/v1을 통해 인젝션에 도달합니다.

발견 자체는 인증되지 않은 SQL 인젝션입니다. check 명령어가 이를 확인하고, read 명령어가 임의 데이터베이스 읽기를 시연합니다. shell 명령어는 선택적 사후 익스플로잇(복구된 관리자 자격 증명 → 플러그인 업로드 → 명령 실행)으로, 전체 영향을 보여주기 위해 포함되었으며, 취약점 자체가 아닙니다.

영향받는 버전

브랜치영향받는 버전수정된 버전
6.9.x6.9.0 – 6.9.46.9.5
7.0.x7.0.0 – 7.0.17.0.2

6.9.0 이전 버전은 이 체인에 영향을 받지 않습니다.

작동 방식

REST 배치 엔드포인트(/batch/v1)는 인증되지 않으며, 각 하위 요청이 자체적으로 검증되고 권한 검사된다는 점에 의존하여 하나의 호출에서 여러 하위 요청을 실행합니다.

serve_batch_request_v1()은 두 개의 병렬 배열을 만듭니다 — $matches (하위 요청별로 일치하는 핸들러)와 $validation (하위 요청별로 검증 결과) — 그런 다음 디스패치 시 두 배열을 동일한 오프셋으로 인덱싱합니다. wp_parse_url()에 실패한 경로를 가진 하위 요청은 $validation에는 추가되지만 $matches에는 추가되지 않아 배열의 순서가 어긋나고, 하위 요청이 다른 하위 요청의 핸들러 아래에서 디스패치됩니다. 이것이 라우트 혼동입니다.

PoC는 이 프리미티브를 두 번 중첩합니다:

  1. requests 본문을 전달하는 POST /wp/v2/posts 요청이 배치 핸들러 자체 아래에서 디스패치됩니다. 게시물 요청으로 검증되었으므로 requests 목록이 배치 스키마에 대해 검사되지 않아 하위 요청이 GET을 사용할 수 있습니다 — 메서드 허용 목록이 우회됩니다.
  2. 내부 배치 내에서 author_exclude 문자열을 전달하는 GET /wp/v2/users 요청(사용자 스키마에는 해당 매개변수가 없으므로 값이 검증을 그대로 통과)이 게시물 get_items() 아래에서 디스패치됩니다. 여기서 author_exclude는 WP_Query의 author__not_in 쿼리 변수에 매핑되며, 취약한 빌드는 이를 SQL에 문자열로 보간합니다.

결과는 인증 전에 도달 가능한 boolean 기반 및 시간 기반 블라인드 SQL 인젝션입니다. 데이터베이스 읽기 액세스 권한으로 관리자 비밀번호 해시를 복구할 수 있습니다. 해시가 크래킹되면 관리자 액세스로 플러그인 업로드를 통한 코드 실행이 가능합니다.

요구 사항

Python 3.8+ 및 표준 라이브러리. 타사 종속성이 없습니다.

사용법

저장소 디렉토리에서 실행하십시오:

root@kitploit:~
./wp2shell.py <command> <url> [options]

또는 pip install .을 실행하여 PATH에 wp2shell 명령을 추가하십시오.

check — 취약점 확인 (안전함)

차등 시간 지연으로 익스플로잇 가능성을 확인합니다. 데이터를 읽거나 변경하지 않습니다.

root@kitploit:~
./wp2shell.py check http://target

read — 데이터 추출 (블라인드 SQL 인젝션)

root@kitploit:~
./wp2shell.py read http://target                      # 서버 지문
./wp2shell.py read http://target --preset users       # 사용자 로그인 및 비밀번호 해시
./wp2shell.py read http://target --query "SELECT @@version"

shell — 명령 실행 (원격 코드 실행)

선택적 사후 익스플로잇. 유효한 관리자 자격 증명이 필요합니다. 인젝션이 비밀번호 해시를 복구하므로, 여기서 복구된 평문을 제공하십시오.

root@kitploit:~
./wp2shell.py shell http://target --user admin --password '<recovered>' --cmd id
./wp2shell.py shell http://target --user admin --password '<recovered>' -i   # 대화형 셸

shell은 플러그인 웹셸(무작위 경로 및 실행별 토큰으로 잠김)을 업로드하고 해당 경로를 출력합니다. 사용 후 제거하십시오.

옵션

해결 방법

WordPress 6.9.5 또는 7.0.2로 업데이트하십시오. 그때까지는 /wp-json/batch/v1과 rest_route=/batch/v1 쿼리 매개변수를 모두 에지에서 차단하거나, rest_pre_dispatch 필터를 통해 배치 엔드포인트에 인증을 요구하십시오.

법적 고지

승인된 보안 테스트 전용입니다. 소유하고 있거나 명시적인 서면 허가를 받은 시스템에 대해서만 사용하십시오. 작성자는 오용에 대한 책임을 지지 않습니다.

참고 자료

  • WordPress 7.0.2 릴리스 발표 — https://wordpress.org/news/2026/07/wordpress-7-0-2-release/
  • CVE-2026-63030
도구 다운로드
옵션적용 대상설명
--rest-route모두/?rest_route=/batch/v1 사용 (예쁜 퍼머링크가 없는 사이트용).
--proxy URL모두HTTP 프록시를 통해 트래픽 라우팅 (예: Burp).
--timeout N모두요청 타임아웃(초).
--sleep Ncheck인젝션 확인에 사용되는 지연 시간.
--presetreadfingerprint 또는 users.
--queryread읽을 스칼라 SQL 표현식.
--prefixread데이터베이스 테이블 접두사 (기본값 wp_).
--max-length Nread값당 최대 읽기 문자 수 (기본값 128).
--user / --passwordshell관리자 자격 증명 (해시에서 복구된 평문).
--cmdshell실행할 명령 (-i 사용 시 생략).
-i / --interactiveshell배포 후 대화형 셸 열기.