全文 800+ 字,阅读预计耗时 3 分钟
笔者还是第一次这么接近一个新漏洞的爆发,前段时间笔者有一个小东西想尝试用 ThinkPHP 5 做,所以跟了一段时间的 ThinkPHP,结果今天,ThinkPHP 是爆了一个高危通杀漏洞。
这个漏洞的消息还没有广泛传播开,由于使用 ThinkPHP 5.x 的网站并不多,大量网站还是在使用 ThinkPHP 3.x,所以影响范围不是特别大,但是本次漏洞爆出还是会使不少使用了 ThinkPHP 5.x 的网站都将受到威胁,国内一个被使用较多的、基于 ThinkPHP 5.x 的开发框架 FastAdmin 根据笔者的实测是确认中招。
在 12 月 9 日 ThinkPHP 团队针对 5.x 版本发布了一个安全更新,修复了一个可致 getshell 的漏洞,安全人员对代码进行了审计与分析发现该漏洞是通杀漏洞,只要没有开启强制路由,则可能导致 getshell。
漏洞分析可致 i 春秋、斗鱼 SRC 公众号等地方查看,大概是路由控制器内对 URL 进行分割、解析的时候缺乏一处必要的过滤,使得黑客可以恶意控制传入的参数让存在漏洞的代码实例化任意一个类。
这使得黑客可以利用 ThinkPHP 中的某处代码实现任意命令的执行。
目前该漏洞的利用方法已经在网络上公开,任何人都可以利用公开的恶意代码攻击受威胁的 ThinkPHP 5.x 网站,所有尚未进行此次安全更新、未开启强制路由的网站都将受到威胁。
(笔者随意测试了 5 个站点,均能 getshell)
该漏洞的危险程度笔者个人认为相当高,因为该漏洞属于通杀,同时恶意代码的构造难度很低,黑客可以非常轻松地前台 getshell。目前漏洞细节刚被公开,刷这个漏洞的人会很多,沦陷的站点数量还是会非常庞大。
如果你是一名前端开发者,或是网站站长,或是网站运维,如果你经手的项目使用了 ThinkPHP 5.x,建议立刻对漏洞进行修补,并检查服务器的日志以及文件。
事实告诉我们,尽可能及时地跟进软件厂商的更新是非常必要的,安全不是一个小问题。
领取专属 10元无门槛券
私享最新 技术干货