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 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 2008 /preview.php SQL注入漏洞
- phpcms 2008自定义分页函数 php代码完善版
- phpcms前台任意代码执行漏洞(php<5.3)
- PHP代码执行漏洞总结
- 通用的PHP防注入漏洞攻击的过滤函数代码
- PHP uniqid()函数可用于生成不重复的唯一标识符,该函数基于微秒级当前时间戳。在高并发或者间隔时长极短(如循环代码)的情况下,会出现大量重复数据。即使使用了第二个参数,也会重复,最好的方案是结
- PHP代码网站如何防范SQL注入漏洞攻击建议分享
- PHP 代码审查之常规漏洞
- 实例代码(栈地址增长方向、vtable对类size的影响、对象最小size概念、结构体对齐规则(对齐参数)、sizeof(指针),free与delete的区别)
- 【phpcms-v9】index.php文件分析-前台列表页代码分析
- 检查url链接是否已经有参数的php代码 添加 ? 或 &
- 比较好用的PHP防注入漏洞过滤函数代码
- WordPress WP Cleanfix插件‘wpCleanFixAjax.php’远程PHP代码执行漏洞
- PHPCMS 2008 SQL注入漏洞
- PHP代码审计笔记--代码执行漏洞
- 用PHP连接MySQL代码的参数说明
- PHP代码审计笔记--命令执行漏洞
- phpcms输入后台内容录入框中支持php代码实现思路
- 关于php apache后缀漏洞 附测试代码