漏洞关键信息 漏洞类型 IDOR (Insecure Direct Object Reference): 未经授权的交易支付取消 描述 TradePaymentController.cancel 方法接受来自请求的 并调用服务层的状态更改,而不验证该支付是否属于已认证的用户。任何登录用户都可以取消或发起另一个用户的支付退款,如果他们知道 。 受影响代码 文件路径: - - POC (Proof of Concept) 1. 使用测试账号创建支付,获取 。 2. 登录为低权限用户,从 cookie 中提取 token,值为: 。 3. 支付状态更改(被取消),即使攻击者并不拥有该支付。 被影响的系统组件 关联用户操作 低权限用户可以利用已知的 来取消不属于自己的交易。这种未经授权的行为可能会导致财务损失或数据泄露。 安全建议 对 验证归属,确保只有支付的所属者可以进行取消操作。 实现更严格的认证和授权控制流程。