当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:
漏洞标题:
phpcms 2008代码注射漏洞
相关厂商:
漏洞作者:
提交时间:
2011-10-12 16:51
修复时间:
2011-11-11 16:51
公开时间:
2011-11-11 16:51
漏洞类型:
设计不当
危害等级:
自评Rank:
5
漏洞状态:
厂商已经确认
漏洞来源:
http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签:
分享漏洞:
4人收藏 收藏
分享漏洞:

>

漏洞详情

披露状态:

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的如下代码:

eval("\$url = \"$urlrule\";");


在这里,将未过滤的$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

最新状态:

暂无