关键漏洞信息 漏洞描述 漏洞类型: 任意文件读取漏洞 发现日期: 2023年6月20日 受影响项目: RuoYi-Vue-Plus 项目链接: https://gitee.com/ruoyi/RuoYi-Vue-Plus 受影响版本: v4.1.0 受影响API: /api/mail/sendMessageWithAttachment、/api/mail/sendMessagesWithAttachments 漏洞细节 在RuoYi-Vue-Plus项目中, 和 文件中的接口可以未经授权访问和调用,导致任意文件读取漏洞。攻击者可以通过发送邮件附件的方式从服务器上下载任意文件。 测试环境设置 1. JDK 17 2. Maven构建 3. MySQL数据库启动 4. 数据库初始化 5. Redis启动 6. 修改邮件发送配置 复现步骤 1. 触发任意文件读取 - 使用以下命令触发漏洞: - 响应将包含文件内容,表示邮件发送成功。 2. 检查邮件 - 在测试邮箱中检查收到的邮件,确认附件是否为指定文件。 代码分析 1. 中的 方法直接调用了 方法,未进行参数验证。 2. 中的参数多次传递,但未进行任何验证。 3. 中的 方法最终调用了 的 方法发送邮件。 通过上述接口,攻击者可以在不登录的情况下,通过发送邮件的方式从系统中下载任意文件。