4月13日消息,日前漏洞报告平台爆料称,ThinkPHP框架存在“URI取值任意代码执行”漏洞(),黑客可借此在网站上执行任意PHP代码,甚至获取服务器管理员权限,同在此服务器上的其他网站也可能受到。对此,360网站安全检测平台第一时间加入检测规则,并向存在该漏洞的网站发送了报警邮件及修复。
ThinkPHP是一款拥有6年历史的优秀开源PHP框架,自2006年诞生以来,应用者逐渐遍及电子商务、教育培训、金融、等多个领域,包括大型门户网站、著名服装品牌网上商城等,都使用该PHP框架搭建。尽管此前ThinkPHP已发布修复URI漏洞的补丁,却未引起网站管理者的普遍重视,至今仍有大批网站因此存在被黑风险。
360网站安全检测平台分析认为,该漏洞源自ThinkPHP框架整理URI变量的流程:源码此处补丁的是一个perg_replace函数,此函数用于执行正则表达式的搜索和替换,因为第一个参数如果使用了“e”修饰符,那么第二个参数将会被当做PHP代码执行。
其中,代码中$paths为URI处理到最后变量取值部分,通过“/”切割后进行正则替换,其中\1为变量名,\2为匹配到的变量值,而这个地方用到了双引号来解析PHP变量进行动态赋值,导致黑客可以利用一些技巧通过控制变量值的方式直接执行任意PHP代码(如图3、图4所示),所以补丁将这对双引号改为单引号(如图2所示)
鉴于该漏洞覆盖用户群体的广泛性及危害的严重性,360网站安全检测第一时间加入了检测规则,并根据不同“URL_MODEL”设置情况下的各种传参模式都进行了细致的规则定制,可以准确有效地发现使用ThinkPHP站点的安全漏洞。
目前,360网站安全检测平台已向存在漏洞的网站发送了报警邮件,同时所有未升级的ThinkPHP用户立即下载安装补丁点击访问,或直接升级ThinkPHP最新版本,以规避。
网友评论 ()条 查看