该漏洞可以直接远程代码执行,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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我