我的理解是,CSRF 可以防止攻击者使用<img>标签让受害者的浏览器发送使用会话 cookie 进行身份验证的请求。鉴于<img>s 总是使用 GET 请求而不是 POST 提交,那么为什么需要在 POST 请求中要求 CSRF 令牌呢?
此外,攻击者无法在无法运行代码的情况下在网页中提交表单(即 XSS 攻击),在这种情况下,他们无论如何都可以绕过您的 CSRF 保护。
攻击者可以在自己的站点上托管表单,但不需要用户提交该表单。他们可以使用 JavaScript 来执行此操作:
<form method="post" action="http://www.example.com/executeAction">
<input type="hidden" name="action" value="deleteAllUsers">
</form>
<script>document.forms[0].submit()</script>
Run Code Online (Sandbox Code Playgroud)
IFrame 注入更多的是一种XSS漏洞。XSS 漏洞比 CSRF 漏洞更严重,因为它可以造成更多损害,并且它总是会覆盖您拥有的任何 CSRF 保护。确保始终针对输出所在的上下文正确地对输出进行编码(例如,根据需要对 HTML 或 JavaScript 进行编码)。
查看跨站点请求伪造 (CSRF) 预防备忘单- 他们的最佳建议是使用同步器令牌模式,该模式看起来与答案中的链接类似,但可以与 cookie 结合使用。
| 归档时间: |
|
| 查看次数: |
4169 次 |
| 最近记录: |