ThinkPHP5.0 captcha 调用phpinfo bug 远程代码执行漏洞解决方案

学习笔记 2019/02/13 ThinkPHP, PHP, 网络安全

该漏洞可以直接远程代码执行,getshell提权写入网站木马到网站根目录,甚至直接提权到服务器,该漏洞影响版本ThinkPHP 5.0、ThinkPHP 5.0.10、ThinkPHP5.0.12、ThinkPHP5.0.13、ThinkPHP5.0.23、thinkphp 5.0.22版本。


攻击者可以伪造远程恶意代码,利用漏洞对服务器进行post提交数据。

首先打开网站会从app.php代码里将请求的网站地址使用check来进行解析,然后再经过patch类型对其进行深度的赋值.然后可以使用post方式提交数据到_method函数当中去,框架会对进行判断,然后对其调用传入的参数值,经过整个代码的循坏以及传入,就可以导致request的值给覆盖掉,从而产生远程代码执行,我们来构造恶意的代码,看看漏洞是如何使用的。

http://地址/?s=captcha

提交的POST数据 _method=__construct&filter[]=phpinfo&method=get&server[REQUEST_METHOD]=1

成功执行了phpinfo


Thinkphp处理请求的关键类为Request(thinkphp/library/think/Request.php)

该类可以实现对HTTP请求的一些设置。


解决方案:

替换最新文件

下载附件Request.rar( 9.67KB )


本文地址:https://www.stayed.cn/item/114

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。