一个动手实践的、容器化的实验室环境,用于模拟和利用 Roundcube Webmail 中一个严重的认证后 RCE 漏洞,编号为 CVE-2025-49113。
本实验演示了一个针对 Roundcube 网络邮件客户端的复杂攻击链。该漏洞是一个 认证后远程代码执行 (Post-Authentication RCE),由对 PHP 会话数据的不当处理导致 PHP 对象反序列化 (PHP Object Deserialization) 而引发。
已认证的攻击者可以构造一个恶意的 PHP 对象,通过图片上传等端点将其注入服务器的会话数据,然后在执行看似无害的操作(如注销)时触发其反序列化,从而强制服务器执行攻击者提供的任意代码。
Crypt_GPG_Engine),可被反序列化过程滥用以执行意外操作。本仓库包含一个可被利用的脆弱 Roundcube 实例。该实验室可立即在云端或本地机器上运行。
这是上手最快的方式。它会在浏览器中提供一个预配置的云端环境。
启动 Codespace: 点击本 README 顶部的 "Open in GitHub Codespaces" 徽章。
等待设置: GitHub 会准备你的环境。完成后,会显示一个终端。
启动脆弱服务: 在 VS Code 终端中,运行以下单条命令:
docker compose up
这将启动脆弱的 Roundcube 实例、一个邮件服务器和一个数据库。你会看到 "Ports" 选项卡出现。点击 Port 8080 的链接,在新浏览器标签页中打开 Roundcube。
执行漏洞利用:
+ 图标)。在本地机器上使用 Docker 运行整个实验室。
前提条件:
操作步骤:
克隆仓库:
git clone https://github.com/hackmelocal/CVE-2025-49113-Simulation.git
cd CVE-2025-49113-Simulation
启动脆弱服务: 在终端中运行命令:
docker compose up
访问 Roundcube: 打开网页浏览器,导航至 http://localhost:9876。
执行漏洞利用: