HTML中ajax表单提交CSRF保护

HTML中ajax表单提交CSRF保护,第1张

除了检查被作为 POST 参数传递的 CSRF token 之外, VerifyCsrfToken 中间件也会检查请求标头中的 X-CSRF-TOKEN 。例如,你可以将其保存在 meta 标签中:

一旦你创建了 meta 标签,你就可以使用 jQuery 之类的函数库将 token 自动地添加到所有的请求头中。这简单、方便的为你的应用的 AJAX 提供了 CSRF 保护:

2021-11-24

跨站点请求伪造(Cross—Site Request Forgery),伪装来自受信任用户的请求来利用受信任的网站。简单来说CSRF就是获取凭证伪造身份去做事。

详细点说:假如A网站中存在CSRF漏洞,攻击者构造一个利用的POC,发送给受害者(在浏览器中处于登陆状态),让受害者点击POC,导致受害者在A网站上的的资料被修改或者钱财被转移。

所有用户进行 *** 作的位置都可能存在CSRF,修改信息、密码、头像。

1.利用浏览器中缓存的cookie

2.没有一次型的token验证

1.修改受害者的一些资料、转账或者改密码

2.如果获取到应用程序中的管理员cookie,攻击者完全可以控制应用的所有数据和功能

1.资源包含

资源包含是在大多数介绍CSRF概念的演示或基础课程中可能看到的类型。这种类型归结为控制HTML标签(例如<image>、<audio>、<video>、<object>、<script>等)所包含的资源的攻击者。如果攻击者能够影响URL被加载的话,包含远程资源的任何标签都可以完成攻击。

2.基于表单

通常在正确使用安全的请求方式时看到。攻击者创建一个想要受害者提交的表单其包含一个JavaScript片段,强制受害者的浏览器提交。

3.XMLHttpRequest

基于XHR的CSRF通常由于SOP而以XSS有效载荷的形式出现。没有跨域资源共享策略 (Cross-Origin Resource Sharing, CORS),XHR仅限于攻击者托管自己的有效载荷的原始请求。

通过CSRF-token或者验证码来检测用户提交

验证 Referer/Content-Type

对于用户修改删除等 *** 作最好都使用POST *** 作

避免全站通用的Cookie,严格设置Cookie的域

https://shahmeeramir.com/methods-to-bypass-csrf-protection-on-a-web-application-3198093f6599

1.跨账户使用令牌

2.替换相同的长度

3.从请求中删除csrf token

4.解码CSRF token

5.通过HTML提取CSRF token

6.只使用token的静态部分

参考链接: https://websec.readthedocs.io/zh/latest/vuln/csrf.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7305663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存