关键漏洞信息 受影响产品 WebStack-Guns 漏洞类型 任意文件上传 - 存储型XSS 影响版本 v1.0 漏洞文件 UserLogController.java 根因 文件上传控件在接收邮件时未能正确验证文件内容类型和扩展名(如.jpg, .png, .html)。攻击者可以上传包含JavaScript代码的恶意文件,这些文件在被应用程序渲染或用户访问时执行,导致持久性跨站脚本(XSS)。 影响 攻击者可以上传伪装成图像的恶意文件,当由应用程序渲染或用户访问时,在受害者的浏览器中执行任意JavaScript。 成功利用可能导致: - 会话劫持(绕过登录表单窃取会话cookie) - 点击劫持(覆盖页面元素以欺骗用户) - 信息泄露(修改网站内容以显示虚假信息) - 马尔文分发(将用户重定向到恶意站点) 描述 在对WebStack-Guns进行安全审查时,发现了一个关键的任意文件上传漏洞。该问题源于不适当的文件验证,允许攻击者上传绕过安全检查的恶意文件。 漏洞细节和POC 漏洞位置: UserLogController.java Payload示例: 建议修复 1. 严格的文件扩展名白名单 - 仅允许安全的扩展名(如.jpg, .png, .gif),并拒绝危险的扩展名(如.php, .svg, .html, .php)。 2. 文件内容验证 - 检查文件magic numbers(前两个字节)以确保文件匹配其扩展名,并扫描文件内容以查找危险模式(如, eval, document.cookie)以防止嵌入恶意脚本。