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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-41892_PoC — Craft CMS의 사전 인증 원격 코드 실행 취약점인 CVE-2023-41892를 재현하기 위한 PoC 스크립트 및 Docker 랩입니다. 로그 포이즈닝 및 Imagick MSL 파일 쓰기 익스플로잇을 포함합니다. | Kitploit
도구/GitHubGitHub/lyccyc/cve-2023-41892_poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHublyccyc/cve-2023-41892_poc

CVE-2023-41892_PoC

Craft CMS의 사전 인증 원격 코드 실행 취약점인 CVE-2023-41892를 재현하기 위한 PoC 스크립트 및 Docker 랩입니다. 로그 포이즈닝 및 Imagick MSL 파일 쓰기 익스플로잇을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-41892 Craft CMS PoC

이 저장소는 Craft CMS의 사전 인증 원격 코드 실행 취약점인 CVE-2023-41892를 재현하기 위한 개념 증명(PoC) 스크립트와 로컬 Vulhub 랩을 포함합니다.

이 프로젝트는 승인된 로컬 랩 또는 테스트에 대한 명시적 권한이 있는 다른 시스템에서만 사용하십시오.

프로젝트 구조

root@kitploit:~
CVE-2323-41892_PoC/
+-- README.md
+-- LFI_to_RCE.py
+-- Imagick_PoC.py
+-- Vulnhub_env/
    +-- docker-compose.yml
    +-- README.md
    +-- README.zh-cn.md
    +-- 1.png ... 5.png

파일 용도

경로용도
LFI_to_RCE.pyPsy\Configuration 가젯을 통한 로그 오염 후 로컬 파일 포함(LFI)을 수행하는 PoC.
Imagick_PoC.pyImagick MSL 가젯을 통한 임의 파일 쓰기를 수행하는 PoC.
Vulnhub_env/docker-compose.yml취약한 Craft CMS 4.4.14와 MySQL 5.7을 시작하는 Docker Compose 랩.
Vulnhub_env/README.md요청 예제와 스크린샷이 포함된 원본 Vulhub 스타일 재현 노트.
Vulnhub_env/README.zh-cn.mdVulhub 재현 노트의 중국어 버전.
Vulnhub_env/*.pngVulhub 환경 문서에서 사용하는 스크린샷.

취약점 요약

CVE-2023-41892는 Craft CMS 4.0.0-RC1부터 4.4.14까지의 버전에 영향을 미칩니다. 이 문제는 Craft CMS 4.4.15에서 수정되었습니다.

두 스크립트에서 사용하는 취약한 엔드포인트는 다음과 같습니다:

root@kitploit:~
/index.php?action=conditions/render

PoC는 기본 로컬 랩 URL을 대상으로 합니다:

root@kitploit:~
http://localhost:8088

랩이 다른 호스트나 포트에서 실행되는 경우 LFI_to_RCE.py와 Imagick_PoC.py 상단 근처의 URL 값을 업데이트하세요.

요구 사항

  • Docker 및 Docker Compose
  • Python 3
  • Python 패키지: requests

Python 종속성을 설치합니다:

root@kitploit:~
pip install requests

랩 설정

취약한 Craft CMS 환경을 시작합니다:

root@kitploit:~
cd Vulnhub_env
docker compose up -d

Craft CMS 설치 프로그램을 엽니다:

root@kitploit:~
http://localhost:8088/admin/install

설치 중 다음 기본 데이터베이스 설정을 사용합니다:

설정값
데이터베이스 호스트db
데이터베이스 이름craftcms
데이터베이스 사용자root
데이터베이스 비밀번호root

설치 후 사이트가 다음 주소에서 접근 가능한지 확인합니다:

root@kitploit:~
http://localhost:8088

사용법

저장소 루트에서 명령을 실행합니다:

root@kitploit:~
cd CVE-2323-41892_PoC

PoC 1: 로그 오염을 통한 RCE

실행:

root@kitploit:~
python LFI_to_RCE.py

동작 방식:

  1. PHP 코드가 포함된 잘못된 형식의 JSON을 Craft CMS 로그로 전송합니다.

  2. 현재 로컬 날짜를 사용하여 로그 파일 경로를 구성합니다:

    root@kitploit:~
    ../storage/logs/web-YYYY-MM-DD.log
    
  3. craft\elements\conditions\users\UserCondition과 함께 \Psy\Configuration을 사용하여 오염된 로그 파일을 포함시킵니다.

  4. 응답에 phpinfo() 출력이 나타나는지 확인합니다.

예상 성공 출력:

root@kitploit:~
[*] Starting Log Poisoning...
[+] Payload sent successfully!
[*] Starting LFI to RCE...
[+] phpinfo() executed successfully!

PoC 2: Imagick MSL 파일 쓰기

실행:

root@kitploit:~
python Imagick_PoC.py

동작 방식:

  1. multipart form 데이터를 통해 MSL 페이로드를 업로드합니다.
  2. Imagick 가젯으로 객체 생성을 트리거합니다.
  3. 웹 루트에 webshell.php 쓰기를 시도합니다.
  4. http://localhost:8088/webshell.php를 요청하고 phpinfo()를 확인합니다.

예상 성공 출력:

root@kitploit:~
[*] Sending multipart/form-data payload to trigger Imagick gadget...
[+] Success: phpinfo() output found.

Imagick 경로는 페이로드가 트리거된 후 PHP worker를 중단시킬 수 있습니다. Vulhub 랩에서는 webshell.php가 크래시 전에 쓰여졌다면 이는 정상적인 동작일 수 있습니다.

구성

두 스크립트 모두 파일 상단에 대상 URL을 정의합니다:

root@kitploit:~
URL = "http://localhost:8088"

취약한 랩이 다른 주소에 노출된 경우 이 값을 변경하세요.

Imagick_PoC.py는 생성된 파일을 다음 경로에서 확인합니다:

root@kitploit:~
OUTPUT_FILE = "/webshell.php"

문제 해결

스크립트가 연결할 수 없음

  • 컨테이너가 실행 중인지 확인합니다:

    root@kitploit:~
    cd Vulnhub_env
    docker compose ps
    
  • http://localhost:8088에서 사이트에 접근할 수 있는지 확인합니다.

  • 포트 8088을 이미 다른 서비스가 사용 중인지 확인합니다.

  • 노출된 포트를 변경한 경우 Python 스크립트의 URL 값을 업데이트하세요.

LFI_to_RCE.py에 PHP Version이 표시되지 않음

  • Craft CMS 설치가 완료되었는지 확인합니다.
  • Craft CMS가 storage/logs/에 로그를 쓰고 있는지 확인합니다.
  • 로그 파일 이름의 날짜가 컨테이너 날짜와 일치하는지 확인합니다.
  • 호스트와 컨테이너 날짜가 다른 경우 LFI_to_RCE.py에서 생성된 web-YYYY-MM-DD.log 경로를 업데이트하세요.

Imagick_PoC.py가 /webshell.php에 대해 404를 반환함

  • 대상 환경에서 Imagick PHP 확장이 활성화되어 있는지 확인합니다.
  • PHP 프로세스가 웹 루트에 쓸 수 있는지 확인합니다.
  • 업로드된 임시 파일이 /tmp/php*에 생성되는지 확인합니다.
  • 트리거 요청 중 PHP worker가 중단된 경우 한 번 재시도하세요.

정리

랩을 중지합니다:

root@kitploit:~
cd Vulnhub_env
docker compose down

깨끗한 재설치를 위해 컨테이너와 데이터베이스 볼륨을 제거하려면:

root@kitploit:~
docker compose down -v

완화

Craft CMS를 4.4.15 이상으로 업그레이드하세요.

악용이 의심되는 경우 Craft CMS 보안 키, 데이터베이스 자격 증명, 애플리케이션 시크릿, 환경에 저장된 모든 자격 증명을 교체하세요.

참고 자료

  • Vulhub 재현: https://github.com/vulhub/vulhub/blob/master/craftcms/CVE-2023-41892/README.md
  • Craft CMS 권고: https://github.com/craftcms/cms/security/advisories/GHSA-4w8r-3xrw-v25g
  • NVD 항목: https://nvd.nist.gov/vuln/detail/CVE-2023-41892
도구 다운로드