由于phpcms v9的bug引起的故障

1. 情况描述:

a) 检查自动备份情况时,发现整个站点比平常多了60G左右。经过发现站点根目录下/sso_server/uploadfile文件60G。最后定位:/sso_server/uploadfile/02/01/02/10960/22/随机码.tar.gz该文件约60G。测试该文件,是整站的备份文件。

b) /sso_server/uploadfile/02/01/02/10960/22下有2个php文件,经检测是木马php程序。

c) 经过系统日志检查,确定操作系统和httpd平台工作正常,问题可能出在用户上传验证。

d) 模拟用户行为。该文件木马php程序是利用了phpcms的漏洞上传的。(phpcms是开源的,利用的漏洞是上传验证问题)

2. 解决方案:

a) 解决phpcms v9上传验证漏洞问题。

b) 从系统安全的角度针对上传代码,处理权限,做到即使上传也不能执行。避免恶意代码的影响。

http://www.myhack58.com/Article/html/3/62/2014/43746.htm该链接由关于该漏洞的说明。

黑客源码:见附件

时间: 2024-11-05 11:41:16

由于phpcms v9的bug引起的故障的相关文章

(转载)PHPCMS V9专题路径多了一个斜杠的解决办法

PHPCMSV9的专题,在设置生成静态并且网站的静态设置成生成在根目录的时候,专题路径的URL中会多出一个斜杠,如:http://www.2cto.com//special/ddos/ ,我只能说这是PHPCMS V9众多诡异的BUG中的一个.在PC论坛多个会员多次提起,但未见官方修复.今天花了大把的时间,最终找到问题所在并解决. 解决办法: 1 修改phpcms/modules/special/special.php 文件第43行: $url = $special['ishtml'] ? AP

phpcms v9中 action="position" 和action="lists"有什么区别, 以及action 的属性和值

action值的含义: lists 内容数据(文章?)列表 relation 内容相关文章 hits 内容数据点击排行榜 category 内容栏目列表 position 内容推荐位列表 phpcms v9中 action="position" 和action="lists"有什么区别, 以及action 的属性和值,布布扣,bubuko.com

phpcms V9 数据模型基类

在学习<phpcms V9首页模板文件解析>的第七步,我们看到content_model类,文件路径:phpcms/model/content_model.class.php 从代码中,可以得知content_model类继承于model类.那么model类又是什么呢? 下面请看数据模型基类model类的解析.文件路径:phpcms\libs\classes\model.class.php 代码及注释,如下所示: 1 <?php 2 /** 3 * model.class.php 数据模

[分 享] PHPCMS V9 更换域名,附件地址无法批更新(更换变便)问题&gt;解决方法!!

大家应该都有在域名更换(比如说,从本地上传到空间)的情况下,用内容>附件管理>附件地址替换 功能. 基本上替换不了所有表中原来域名的地址. 现PHPCMS V9最新版本的依旧存在些问题. 查找原因发现phpcms\modules\attachment\address.php  update() 中(最新版本LINE35)如下代码存在问题: if (preg_match('/(char|text|mediumtex)+/i', $val)) { 该句是对所有表中的所有字段类型进行判断.如果是ch

window安装PHPCMS V9

一.准备工作 搭建环境 :参考:Windows下搭建PHP开发环境及相关注意事项 PHPCMS V9 :下载适合自己 PHPCMS V9 版本到本地或服务器,下载地址:http://www.phpcms.cn/html/download/  说明:官方提供了 2 种不同的编码.包括 GBK 简体中文版(推荐).UTF-8 简体中文版.如果您的站点主要是国内会员,推荐您使用 GBK 版本. 将install_package文件添加到Apache24\htdocs目录下 phpMyAdmin :下载

phpcms v9 针对百度优化(seo)标题分隔符和简短标题

phpcms v9的标题分隔符默认是 -,据网上资料说,这种分隔符对谷歌搜索引擎来说,非常友好,但对百度来说,它更喜欢__ 这种符合中国人的使用习惯的分隔符, 因此决定将网站的标题分隔符改为以"_"来进行分隔. 打开网站目录下的  phpcms/libs/functions/global.func.php文件, 找到  function seo, 进一步找到函数中的以下语句 seo['title'] =  (isset($title) && !empty($title)

PhpCms V9中的{date(&#39;Y-m-d&#39;,$r[inputtime])}问题解决方法

不少朋友会碰到这个问题:在PhpCms V9中的首页或者文章内容页调用发布时间{date('Y-m-d',$r[inputtime])}调用显示1970-01-01,然后尝试用截断的方法也没有成功,应怎么办? 有朋友建议“先转换成时间格式,在截取吧”,具体代码为“{str_cut($inputtime,12,$dot='')}”,还有人说“{$updatetime} 直接用这个调用就好了”,但是很多朋友还是没有成功! 下面我来具体说明下调用不成功的真实的原因,以及解决方法! 第一,或许你是没有正

phpcms V9 栏目管理

关于phpcms V9框架系统后台管理之栏目管理,请参见下文的源码分析(添加栏目和修改栏目): 参照添加栏目的界面图示,便于对源代码的理解: 1 <?php 2 3 // 文件路径:phpcms/modules/admin/category.php 控制器,主要用来控制栏目相关的操作 4 5 defined('IN_PHPCMS') or exit('No permission resources.'); 6 pc_base::load_app_class('admin','admin',0);

phpcms V9 前台首页模板文件的解析

在了解了<phpcms V9 URL访问解析>之后,我们已经知道首页最终执行的是content模块下index控制器的init方法. 下面, 我们逐步分析过程如下: 第一.首页默认执行的是index.php?m=content&c=index&a=init 第二.获取SEO信息:phpcms/libs/functions/global.func.php 第三.模板调用:phpcms/libs/functions/global.func.php 第四.模板解析:phpcms/li