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