关键信息提取 漏洞概述 名称: Unauthenticated Arbitrary File Upload in mogu_blog_v2 via /file/pictures 提交者: sh7err@vEcho 描述: 开源博客系统mogu_blog_v2的文件上传功能存在安全漏洞,允许未授权用户上传任意文件(包括HTML、JavaScript、SQL、JSP等)。 影响组件 项目: mogu_blog_v2 供应商: moxi159753 受影响的端点: /file/pictures 受影响的文件: - mogu_picture/src/main/java/com/moxi/mogublog/picture/config/WebSecurityConfig.java - mogu_picture/src/main/java/com/moxi/mogublog/picture/restapi/FileRestApi.java - mogu_picture/src/main/java/com/moxi/mogublog/picture/service/impl/FileServiceImpl.java - mogu_utils/src/main/java/com/moxi/mogublog/utils/FileUtils.java 漏洞细节与原因 1. 缺少认证: /file/端点配置为permitAll(),允许未认证访问。 2. 无认证检查: uploadPics方法未调用checkLogin()或其他认证验证。 3. 客户端控制的身份: 盲目从请求参数读取userId、adminUid、projectName、sortName。 4. 不充分验证: 只验证userId和adminUid是否为空,未进一步验证。 5. 过度允许文件类型白名单: 允许HTML、JavaScript等危险类型。 6. 可预测文件路径: 使用数据库中预配置的路径。 攻击向量 发送未认证的multipart/form-data POST请求到/file/pictures,设置source=picture,提供伪造的userId/adminUid,使用数据库中存在的projectName和sortName,上传危险类型文件。 影响 严重性: CRITICAL 后果**: 上传恶意内容、跨站脚本攻击、网页涂鸦、资源耗尽、信息泄露、社会工程学攻击、恶意软件分发。 受影响版本 当前仓库中所有版本的mogu_blog_v2。 推荐措施 1. 强制认证 2. 实施认证检查 3. 验证用户身份 4. 限制文件类型 5. 内容类型验证 6. 文件大小限制 7. 分离存储域 8. 内容安全策略 9. 病毒扫描 10. 访问控制