学习
实践
活动
专区
工具
TVP
写文章

CSRF攻击与防御

CSRF漏洞检测: 检测CSRF漏洞是一项比较繁琐的工作,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞 随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。 如果修改后的测试请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。 防御CSRF攻击: 目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。 因此,要防御 CSRF 攻击,银行网站只需要对于每一个转账请求验证其 Referer 值,如果是以 bank.example 开头的域名,则说明该请求是来自银行网站自己的请求,是合法的。

57220
  • 广告
    关闭

    新年·上云精选

    热卖云产品新年特惠,2核2G轻量应用服务器9元/月起,更多上云必备产品助力您轻松上云

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSRF攻击防御原理

    Leafo老师基于Moonscript语言开发的WEB框架Lapis,框架中有一段针对CSRF(Cross—Site Request Forgery)的防护代码, 是一种基于围绕时间戳和签名验证的CSRF 防护设计,后来Leafo老师还更新了CSRF的处理代吗: Changes Replaced the CSRF implementation, removed the key parameter and 为了防止CSRF的发生,创建Token处理机制,Token数据结构与时间、加密签名相关, 这么做的目的是给“身份凭证”加上时间生存周期管理,如果的凭证被人拿到了, 要先判断Token中的“签名”与时间戳是否都有效 为了防止CSRF攻击,Token要求不能重复,需要含有时间戳信息。 下面的图描述了一个token的数据构成: Token的数据结构。 msg =json.decode(decode_base64(msg)) if not (msg.key == key) then return nil, "invalid csrf

    89230

    CSRF攻击与防御

    CSRF 攻击 跨站请求伪造(Cross-site request forgery)简称为 CSRF。 这种攻击方式很奇特,它是伪造用户的请求发动攻击的,在 CSRF 攻击过程中,用户往往在不知情的情况下构造了网络请求。 CSRF 攻击危害很大,可能删除一篇博文也没什么,但是如果是发表评论,可能就会造成恶劣的影响,比如发表一些色情甚至反动的言论栽赃用户;银行的支付系统如果存在 CSRF 漏洞,很可能造成用户财务损失;CSRF 防范 CSRF 攻击 CSRF 攻击主要特征就是利用用户的登录态,在有登录状态网站时访问了恶意网站(用户并不清楚是不是恶意的),恶意网站利用 CSRF 漏洞伪装成用户发起了请求。 如果要防御点击劫持,需要让目标网站的网页不能内嵌。 第一种方法是使用 JavaScript 禁止内嵌。

    85740

    浅析CSRF攻击和防御

    CSRF CSRF(Cross-site request forgery)跨站请求伪造,攻击者盗用受害人的已登录身份,向服务器提交恶意的请求,对于服务器来说,伪造的请求完全合法,虽然这并不是受害人的本意 举例 假设某论坛存在CSRF漏洞,你在该论坛登录完成后,然后访问了某危险网站,危险网站提前挖好了坑(可以在该论坛以受害人名义发帖,即发起post请求;同样可以回帖,删帖,甚至盗取用户信息)。 防御 了解了过程,自然就有了对应的防御措施。 网站请求都应该来自受信任页面链接 添加验证码,提交请求时进行人工确认 表单隐藏随机码,由服务端下发随机码,发起请求时由服务端验证 为cookie设置SameSite、HttpOnly,防止cookie泄露 总结 CSRF 解决CSRF也并非难事,尤其是用户基数大的网站更要保护好用户信息安全。

    10710

    csrf漏洞原理及防御

    攻击原理 csrf.png 从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤 1.登录受信任网站A,并在本地生成Cookie 2.在不登出A的情况下,访问危险网站B 防御原理 csrf防御的本质是,黑客虽然携带了合法的cookie,但是他不知道带了什么,也没有跨域权限读取网页的任何信息,而网站可以。 未来浏览器的防御方式 通过设置cookie的SameSite属性,来限制请求是否携带cookie,关于samesite的说明如下图 sameSite.png 落地措施 前端代码 csrf_token 表单提交,把csrf_token值放在隐藏域即可 2. 简单get请求,csrf_token拼接到url参数中即可 3. xhr.setRequestHeader('X-CSRF-Token', csrf_token); }); axios: 设置axios.defaults属性即可: xsrfCookieName

    1.2K00

    CSRF漏洞的原理与防御

    CSRF是什么 csrf 是一个可以发送http请求的脚本。可以伪装受害者向网站发送请求,达到修改网站数据的目的。 而CSRF就利用这个登陆态去发送恶意请求给后端。 为什么脚本可以获得目标网站的cookie呢? CSRF攻击 知道了原理,攻击就变得好理解了,接着上面的例子, 我把请求地址改成评论本篇文章的url,参数为 “这篇文章写得6”, 在没有CSRF防御的情况下,我发表一个评论如:脱单秘笈:,后面附上这个脚本的链接 CSDN 肯定是做了防御了哈,我就不白费力气了。 CSRF防御 三种防御方式: 1. SameSit 禁止第三方网站使用本站Cookie。 referer正确的拼写 应该是 referrer,HTTP的标准制定者们将错就错,不打算改了 缺点: 浏览器可以关闭referer.......... 3. token 最普遍的一种防御方法,后端生成一个

    41330

    【重要】emlog防御CSRF小插件

    emlog始终有个致命的问题,后台基本没有防御CSRF的措施,导致很简单的一个CSRF即可秒杀整个博客。     在此环境下我决定自己开发一个能防御部分csrf攻击的小插件,当然要真正杜绝CSRF的话还是的修改后台的内核代码。 2.emlog后台插件也可以通过CSRF漏洞来禁用,所以本插件考虑到这个情况对GET中的敏感操作进行了特殊防御     3.插件只防御了一些敏感操作和POST传值的操作,不能保证万无一失,还是希望开发组重视该问题 ,在内核代码中使用token才是比较保险的方法     4.如果你的网站还存在分站或子目录放有其他网站,攻击者可以在子目录下上传html来进行CSRF攻击,该种方式无法使用referer防御     附件:csrf_defence.zip

    29342

    【安全系列】CSRF攻击与防御

    CSRF实现】 在恶意网站B上写一个CSRF页面(www.b.com/csrf.html) 使用<img src=http://www.a.com/blog/del? 四、CSRF攻击分类 4.1 HTML CSRF攻击 同样是上面的场景,发起的CSRF请求都属于HTML元素发出的,这一类是最普通的CSRF攻击。 下面是常见的可以发起这样的请求的HTML元素。 随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。 如果修改后的测试请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。 六、CSRF攻击防御 【HTTP Referer 字段校验】 比如上一个场景,恶意攻击被发起时,请求的Referer会指向恶意网站,因此要防御CSRF攻击,可能对Referer字段校验,如果不是本域或者指定域过来的请求

    54300

    【SpringSecurity系列(十八)】SpringBoot 如何防御 CSRF 攻击?

    这是一种非常常见的 Web 攻击方式,其实是很好防御的,但是由于经常被很多开发者忽略,进而导致很多网站实际上都存在 CSRF 攻击的安全隐患。 今天松哥就来和大家聊一聊什么是 CSRF 攻击以及 CSRF 攻击该如何防御。 3.CSRF防御 先来说说防御思路。 CSRF 防御,一个核心思路就是在前端请求中,添加一个随机数。 3.1 默认方案 Spring Security 中默认实际上就提供了 csrf 防御,但是需要开发者做的事情比较多。 可以看到,我们的 _csrf 配置已经生效了。 ❝小伙伴们可以自行尝试从登录参数中去掉 _csrf,然后再看看效果。 4.小结 好了,今天主要和小伙伴们介绍了 csrf 攻击以及如何防御的问题。

    65041

    CSRF的原理与防御 | 你想不想来一次CSRF攻击?

    但是在我们的网站中,大部分都没有做CSRF防御,小伙伴们想不想来一次CSRF攻击,体验一下做黑客感觉? CSRF防御 我们知道了CSRF攻击的原理,就可以做针对性的防御了。CSRF防御可以从两个方面考虑,一个是后台接口层做防御;另一个则是在前端做防御,这种不同源的请求,不可以带cookie。 后端防御CSRF 我们先聊聊后端的防御,后端防御主要是区分哪些请求是恶意请求,哪些请求是自己网站的请求。区分恶意请求的方式有很多,在这里给大家介绍两种吧。 第一种,CSRF Token的方式。 以上就是后端防御CSRF攻击的两种方式,都需要在后端做特殊的处理。当然也可以在前端做处理,怎么做呢?我们接着往下看。 前端防御CSRF 既然CSRF攻击的危害这么大,为什么不能在前端禁止这种请求呢? 总结 到这里CSRF的攻和防都已经介绍完了,大部分网站都是没有做CSRF防御的,小伙伴们有没有想当黑客的瘾,找几个网站搞一下试试吧~~

    51431

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • Web 应用防火墙

      Web 应用防火墙

      腾讯云 Web 应用防火墙(WAF)帮助腾讯云内及云外用户应对 Web 攻击、入侵等网站及 Web 业务安全防护问题。企业组织将 Web 攻击威胁压力转移到腾讯云网站管家防护集群节点,分钟级获取腾讯 Web 业务防护能力,为组织网站及 Web 业务安全运营保驾护航……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券