您的位置:首页 > 编程语言 > PHP开发

phpcms 2008 product.php pagesize参数代码注射漏洞

2011-11-13 13:56 375 查看
发布时间: 2011-10-12
影响版本:

phpcms 2008

漏洞描述:

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://www.wooyun.org/bugs/wooyun-2010-02984*>

测试方法:

[sebug.net]

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! http://demo.phpcms.cn/yp/product.php?pagesize=${@print(md5(admin))} http://demo.phpcms.cn/yp/product.php?pagesize=${@phpinfo()}
等待官方补丁 http://www.phpcms.cn
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 phpcms