关键信息总结 I. 漏洞摘要 漏洞类型: CSRF (跨站请求伪造) 受影响模块: Simple E-Banking System 的 "Withdraw Money" 模块 具体影响: - 允许攻击者在用户不知情的情况下强制执行任意金额的提现操作。 - 用户资金面临恶意转移或扣除的高风险。 严重程度: 高 II. 受影响产品与版本 产品名称: Simple E-Banking System 作者: Fabian Ros (通过 code-projects.org) 受影响URL: 脚本处理提现请求 受影响版本: 2025年10月11日发布的版本(请验证官方版本号) III. 技术细节 漏洞类型: CWE-352: 跨站请求伪造 (CSRF) 描述: - 漏洞存在于处理提现请求的 脚本中。 - 应用程序对改变状态的POST请求未能实施足够的验证(缺少Anti-CSRF Token检查)。 - 攻击者可以创建恶意HTML表单,利用该表单自动发送合法的会话cookie,从而在用户不知情的情况下完成提现请求。 IV. 概念验证 (PoC) PoC代码显示了如何强制登录用户从其账户中提现300个单位的货币,无需用户确认即可减少用户的余额,并在交易历史中出现提现记录。 V. 建议的缓解措施 1. 实施Anti-CSRF Token: - 为所有表单和AJAX请求生成一个加密、会话绑定、唯一的Anti-CSRF Token。 - Token必须随请求一起发送,服务器必须验证请求中的Token与会话中存储的Token是否匹配。 - Token应具有适当的过期时间。 2. 设置SameSite Cookie属性: - 确保所有敏感的会话cookie设置为SameSite=Strict或SameSite=Lax,以限制浏览器在跨站请求中发送cookie。