Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们正面临一些被称为 CSRF 攻击的记录重复问题。
场景是管理员用户登录到应用程序并添加记录,数据正在保存在数据库中。相应的 POST 请求被捕获并重放,最终将重复记录添加到数据库中。此漏洞允许攻击者在重放时将“n”个重复记录添加到数据库中。
这可以称为 CSRF 攻击吗?
不,不是。
如果 POST 被捕获,您正在查看重放攻击,其中再次重放合法请求。
您可以通过在表单中添加一个 nonce(随机值)并要求在 POST 完成时存在随机值,然后使 nonce 无效来击败重放攻击。这与用于阻止 CSRF 攻击的技术相同。
但是,如果攻击者可以读取您的 POST 数据,您可能会遇到更大的问题。例如,他们将能够捕获管理员身份验证步骤,这可能会泄露密码或其他敏感信息。
您也可能没有受到攻击,并且重复项是由使用“后退”按钮或页面重新加载引起的。无论如何,使用某种防御措施来防止重复交易是最安全的。