CSRF跨站请求伪造

免责声明

传播、利用本博客所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本博客及作者不为此承担任何责任,一旦造成后果请自行承担!谢谢!

CSRF跨站请求伪造

漏洞描述

CSRF(跨站请求伪造)CSRF是攻击者通过伪造用户浏览器的请求,欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操 作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。

Web 中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的

漏洞原理

简单地说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并执行一些操 作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去执行。

在这里插入图片描述

  1. 用户访问可信网站并进行登录,登录后生成Cookie保存到本地浏览器
  2. 用户在保持登录的状态下,又访问了黑客网站
  3. 黑客网站在用户不知情的情况下向可信网站发送一条请求,请求修改用户User的密码
  4. 该条请求发送后可信网站会以存储在浏览器中,用户的Cookie处理该请求,导致用户密码被修改

检测漏洞

  1. 一般在用户密码修改、信息修改、添加账号、发布文章等一些敏感操作位置,如果没有二次校验
    (图像验证码、短信验证码、原密码)那么就可以尝试检测。
  2. 检测CSRF漏洞是一个特别简单的工作,简单的方式就是抓取一个正常的请求包,去掉referer字段
    再重新提交,如果提交是有效的,那么基本上就是存在CSRF漏洞
  3. Burp插件CSRF POC
  4. 工具检测:CSRFTester、CSRF Request Builder等

防范CSRF漏洞的方法包括:

  1. 使用随机Token验证:在每个表单中嵌入一个随机生成的Token,并在后端对Token进行验证。由于攻击者无法知道正确的Token值,因此无法伪造合法的请求。
  2. 检查Referer字段:在后端对请求的Referer字段进行检查,确保请求来源于合法的网站。
  3. 使用验证码:要求用户在执行重要操作时输入验证码,以验证用户的真实意图。
  4. 使用SameSite属性:在Cookie中设置SameSite属性为Strict或Lax,限制第三方网站发送的跨域请求。

在线练习平台

https://vulfocus.cn/#/dashboard
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值