欢迎访问 licqi IT技术
我们一直在努力

PHP引号漏洞

节后回来第一件事就是查细节问题。
其他一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 的漏洞?

赞(0) 打赏
未经允许不得转载:licqi IT技术 » PHP引号漏洞
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏