博客统计信息

用户名:frostmounre
文章数:50
评论数:35
访问量:28748
无忧币:273
博客积分:1448
博客等级:5
注册日期:2009-05-30

PHP引号漏洞
2010-02-24 11:09:33
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://tanzj.blog.51cto.com/802764/278232
节后回来第一件事就是查细节问题。
其他一WebServer 报错
expire: not found
expire: not found
expire: not found
一秒钟几十个的冒。。。那个汗啊
首先想到 expire 模块问题。。。为了不影响业务耐着 等到晚上处理,干脆性的直接注释掉 expire 模块。 重启apache 【环境基于 FreeBSD7.2 apache2.2 php mysql】
结果发现并没有解决问题。
很偶然的ps  抓出一条:
web--- 66097 0.0 0.0 5152 1344 ?? D 9:59AM 0:00.00 sh -c cd '/data1/wwwroot/my.7k7k.com' ; expire
=web用户在执行 expire 命令? 本能的想到有人恶意破坏=
奇怪的将命令直接执行   也是报错 “: expire: command not found”
心稍微放下,expire--至少不能执行的命令。 再抓日志 看监控 都没发现破坏迹象。  
程序 webshell 带有这命令? 将网站文件全抓了遍  并没发现相关语句。
 
自己写个小测试脚本: 
test.php 
<?php
shell_exec('cd /data1/wwwroot/ ; expiress');
?>
 
error_log |grep expiress 
  expiress: not found
有点启发了  可以确定应该是程序中哪儿的问题。
再分析首先出现“expire: not found” 的时间 2010.2.22 0:46分
第二天上班问程序,果然在那时间程序有过改动,检查发现 其中以小段代码
==========================================
'ffriendlist' => array('key'=>'ffriendlist',`expire`=>1800)
==========================================
 
本应该是 '' 写成了 `` 结果引号内东东变成执行了。。。
PHP 的漏洞?

本文出自 “SimpleWorldSimpleLife” 博客,请务必保留此出处http://tanzj.blog.51cto.com/802764/278232

分享至
更多
一键收藏,随时查看,分享好友!
lifelong
1人
了这篇文章
类别:PHP技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2010-02-26 11:36:59
你是说程序给自动更改了?

2010-03-02 21:21:47
强,这两个符号离那么远也能写一块去

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: