
취약한 ThinkPHP 8.0.4 테스트 환경 - CVE-2024-44902 nuclei 템플릿 검증용
| 필드 | 값 |
|---|
| CVE ID | CVE-2024-44902 |
| 심각도 | 심각 (CVSS 9.8) |
| 제품 | ThinkPHP |
| 영향을 받는 버전 | 6.1.3 - 8.0.4 |
| 유형 | 안전하지 않은 역직렬화 → RCE |
| CWE | CWE-502 |
ThinkPHP 버전 6.1.3부터 8.0.4에는 안전하지 않은 역직렬화 취약점이 있습니다. Memcached PHP 확장이 설치된 경우, 공격자는 사용자 입력에 대해 unserialize()를 호출하는 엔드포인트에 악성 직렬화 데이터를 전송하여 임의 코드를 실행할 수 있습니다.
이 익스플로잇은 ThinkPHP의 내부 클래스를 통한 가젯 체인을 활용합니다:
ResourceRegister → DbManager → Memcached → Pivot → Model
git clone https://github.com/KrE80r/CVE-2024-44902-env.git
cd CVE-2024-44902-env
docker compose up -d
# 앱이 실행 중인지 확인
curl http://localhost:8080/
# nuclei 템플릿으로 테스트
nuclei -t CVE-2024-44902.yaml -u http://localhost:8080 -debug
# 정리
docker compose down
이 환경은 composer create-project로 생성된 ThinkPHP 애플리케이션입니다:
topthink/think:v8.0.0topthink/framework:8.0.4 (취약)/api/import?data=<직렬화된_페이로드>취약한 컨트롤러는 다음과 같은 시나리오를 시뮬레이션합니다:
이것은 표준 라우팅 및 컨트롤러 패턴을 갖춘 적절한 ThinkPHP 애플리케이션 구조입니다.
$ nuclei -t CVE-2024-44902.yaml -u http://localhost:8080
[CVE-2024-44902] [http] [critical] http://localhost:8080/api/import?data=...
$ nuclei -t CVE-2024-44902.yaml -u http://localhost:8090 # httpd:latest
# 결과 없음
이것은 보안 테스트 전용으로 의도적으로 취약하게 만든 환경입니다.