所在的位置: php >> php发展 >> ThinkPHP50远程命令执行

ThinkPHP50远程命令执行

0x00事项后台

年1月11日,CERT觉察某平安社区浮现对于ThinkPHP5RCE弱点的恐吓谍报,未几以后ThinkPHP5官方与GitHub公布革新。

该革新修理了一处严峻弱点,该弱点可致使长途夂箢代码施行

0x01影响局限

ThinkPHP5.0.x

5.0.x~5.0.23

0x02修理提议

官方在GitHub中举办了革新:版本革新

进级代码到最新版本5.0.24

同时提议用户在线上处境中紧闭debug形式

0x03修理提议

该弱点毒害高,影响严峻:

0x04弱点剖析

弱点紧要浮此刻ThinkPHPRequest类的method法子中(thinkphp/library/think/Request.php)

Request类也许完成对HTTP乞求的一些设置,个中成员法子method用来获得暂时乞求类别,其界说以下:

当传入的参数为false的时辰,会取设置项var_method,其默许值为_method

$this-{$this-method}($_POST);经过post参数_method也许完成对暂时类的随意法子举办挪用。

经过挪用暂时类的构造法子也许遮盖随意成员属性的值:

这边经过遮盖filter属性,filter属性保管了用于全面过滤的函数。

然则在thinkphp5.0.23中,会对filter值从头赋值为空,致使没法行使。

在thinkphp/library/think/App.php中开启debug的时辰会挪用Request类的param法子。

在thinkphp/library/think/Request.phpparam法子中会挪用到method法子,并将参数设置为true。

当参数为true的时辰,会挪用server法子

会走到input法子,经过以前法子遮盖server成员属性值为array(),input法子代码以下:

最后会挪用filterValue构成随意代码施行:

0x05光阴线

-01-11CERT觉察弱点恐吓谍报

-01-11ThinkPHP公布补钉革新

-01-11CERT公布预警剖析

0x06参考链接

ThinkPHP5github革新

[


转载请注明:http://www.aierlanlan.com/tzrz/1085.html