一旦你创建了 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)