漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2011-02984
漏洞标题:phpcms 2008代码注射漏洞
相关厂商:phpcms
漏洞作者: teamtopkarl
提交时间:2011-10-12 16:51
修复时间:2011-11-11 16:51
公开时间:2011-11-11 16:51
漏洞类型:设计不当
危害等级:高
自评Rank:5
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2011-10-12: 细节已通知厂商并且等待厂商处理中
2011-10-13: 厂商已经确认,细节仅向厂商公开
2011-10-16: 细节向第三方安全合作伙伴开放
2011-12-07: 细节向核心白帽子及相关领域专家公开
2011-12-17: 细节向普通白帽子公开
2011-12-27: 细节向实习白帽子公开
2011-11-11: 细节向公众公开
简要描述:
phpcms2008的某参数可以进行代码注入。
详细说明:
phpcms 2008的代码中由于对模板参数处理不当,导致可以任意执行任意代码文件。
具体的代码触发路径是这样的:
phpcms/yp/product.php中获取pagesize参数,拼接为$urlrule变量。随后将之带入yp目录下的product.html模板之中。在模板执行后,进入到get函数处理中,最后经过get->pages->pageurl函数,最终触发pageurl的如下代码:
在这里,将未过滤的$urlrule通过eval赋值。这里可以使用${@phpcode}的语法执行php函数,最终造成漏洞。(进入最后pageurl逻辑前,有个要求是product数目必须超过0,所以没有测试数据的本地新搭建环境没法复现,必须加一些测试数据才行)
漏洞证明:
http://demo.phpcms.cn/yp/product.php?pagesize=${@print(md5(admin))}
http://demo.phpcms.cn/yp/product.php?pagesize=${@phpinfo()}
修复方案:
版权声明:转载请注明来源 teamtopkarl@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:5
确认时间:2011-10-13 10:03
厂商回复:
5
最新状态:
暂无