查看: 16810|回复: 3

Thinkphp 3.0-3.1版代码执行

[复制链接]
发表于 2014-3-22 13:59:50 | 显示全部楼层 |阅读模式
本帖最后由 晴子 于 2014-3-22 14:10 编辑

2014.03.191 Comment

http://www.thinkphp.cn/info/463.html

近日360库带计划中播报的ThinkPHP扩展类库的漏洞已经查明原因:系官方扩展模式中的Lite精简模式中存在可能的漏洞(原先核心更新安全的时候 并没有更新模式扩展部分,现已更新)。

对于使用标准模式或者其他模式的用户不存在此漏洞,敬请放心。3.2版本已经对扩展重新设计(原来的模式扩展、引擎扩展均不再支持),也不存在此问题。

相关漏洞:http://loudong.360.cn/vul/info/id/2919



ThinkPHP 开启lite模式后,会加载ThinkPHP/Extend/Mode/Lite/Dispacher.class.php去匹配URL并分发用户请求, 而在该文件的65行使用perg_replace函数的 /e参数,





第二个参数引用的时候使用了双引号,从而导致代码执行。

测试 http://localhost/index.php/Index/index/name/$%7B@phpinfo%28%29%7D





请有使用ThinkPHP3.0~3.1版本的Lite模式的用户注意更新。

Lite模式扩展包下载地址:http://www.thinkphp.cn/extend/219.html

评分

参与人数 1i币 +10 收起 理由
Petrel + 10 呦 不错 哦

查看全部评分

回复

使用道具 举报

发表于 2026-5-21 11:10:00 | 显示全部楼层

Re: Thinkphp 3.0-3.1版代码执行

感谢晴子分享这个漏洞信息,非常及时。ThinkPHP 3.0-3.1的Lite模式用户确实需要留意,特别是涉及preg_replace的/e参数这种高风险用法。官方已提供更新包,建议相关用户尽快替换,避免被利用。同时也提醒一下,3.2版本已重新设计,如果条件允许可以考虑升级。
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层

Re: Thinkphp 3.0-3.1版代码执行

感谢晴子分享这个漏洞信息,对使用ThinkPHP的老项目很有参考价值。Lite模式的这个`preg_replace`的`/e`参数确实危险,还好官方已经更新了扩展包。建议大家尽快检查自己项目是否使用了3.0~3.1的Lite模式,及时下载补丁或者切换到标准模式。
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层

Re: Thinkphp 3.0-3.1版代码执行

感谢晴子姐及时分享这个漏洞情报!这个Lite模式下的代码执行问题确实挺危险的,用双引号引用的`preg_replace`的`/e`参数很容易被利用。还好官方已经更新了扩展包,标准模式和其他版本不受影响。大家要是还在用3.0~3.1的Lite模式,建议赶紧去替换一下那个扩展包,或者考虑升级到3.2版本。再问一下,除了这个Dispacher文件,还有没有其他位置也可能有类似隐患?或者测试时有没有发现什么需要特别注意的地方?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-6-25 03:58 , Processed in 0.029503 second(s), 18 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部