首页 > 语言 > PHP > 正文

关于ThinkPHP framework 任意代码执行漏洞预警

2024-07-16 17:06:03
字体:
来源:转载
供稿:网友

最近官方发布了一个安全补丁,官方表述是:该URL安全漏洞会造成用户在客户端伪造URL,执行非法代码。 

可是貌似大多数开发者和使用者并没有注意到此漏洞的危害性,应者了了,更不用说有多少人去升级了。随后我对其进行了分析,发现此问题果然是一个非常严重的问题,只要使用了thinkphp框架,就可以直接执行任意php代码。特此发帖预警各位。 

我们来分析一下官方的补丁: 

/trunk/ThinkPHP/Lib/Core/Dispatcher.class.php 

复制代码代码如下:
125 - $res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['/1']="/2";', implode($depr,$paths)); 
125 + $res = preg_replace('@(w+)'.$depr.'([^'.$depr.'/]+)@e', '$var['/1']='/2';', implode($depr,$paths)); 

这个代码是把pathinfo当作restful类型url进行解析的,主要作用是把pathinfo中的数据解析并合并到$_GET数组中。 
然而在用正则解析pathinfo的时候,主要是这一句: 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表