面试笔记3--CSRF跨站请求伪造漏洞


前言

一、CSRF的原理和危害

1.原理

2.危害

二、CSRF的分类

1.GET型CSRF

2.POST型CSRF

三、CSRF的防御措施

四、CSRF常见的绕过方法

五、CSRF、SSRF和重放攻击有什么区别

总结


前言

本文记录了博主CSRF跨站请求伪造漏洞的面试笔记。


一、CSRF的原理和危害

1.原理

CSRF是指:攻击者诱导受害者进入第三方网站,在第三方网站中向被攻击网站发送跨站请求,利用受害者在被攻击网站的登录凭证,绕过用户验证,冒充用户进行操作。

2.危害

CSRF的危害主要有:未授权操作,包括更改、提交、删除数据,更改应用配置,转账支付等操作。盗取用户身份的会话令牌或Cookie信息,冒充合法用户进行进一步的攻击。滥用用户权限,访问受限制的资源等。

二、CSRF的分类

CSRF根据请求方式分类可以分为GET型CSRF和POST型CSRF。

1.GET型CSRF

在GET型CSRF中,攻击者构造一个链接,该链接指向攻击者想要利用的目标网站,同时附加了恶意的查询参数。当用户点击这个恶意链接时,浏览器会向目标服务器发送一个GET请求,间接执行了攻击者的恶意参数。

2.POST型CSRF

在POST型CSRF中,攻击者需要诱导用户访问一个包含恶意表单的页面,用户访问时,表单自动提交,浏览器会向目标网站发送一个POST请求,其中包含了攻击者添加的数据。

三、CSRF的防御措施

参考链接:

面试题之 CSRF 攻击-阿里云开发者社区 (aliyun.com)

面试 07-安全问题:CSRF和XSS - 人心不古 - 博客园 (cnblogs.com)

  • 其实抵御CSRF攻击的关键在于:在请求中放入攻击者所不能伪造的信息,所以现在大多数的方案是使用的 token,token 的防御机制是公认最合适的方案:

        (1)后端随机产生一个 token,把这个token 保存到后端的这个 session 状态中;同时后端把这个token 发给前端页面;

        (2)前端页面提交请求时,把 token 加入到请求体 body 或者自定义 HTTP 请求头里面,比如 Authorization,一起传给后端,这个 token 是不能放在 cookie 里面,放在 cookie 里面就有可能被黑客利用,就失去了用 token 的意义。

        (3)后端验证前端传来的 token 与 session 是否一致,一致则合法,否则是非法请求,没有就是伪造的。

  • 还可以通过header中的Referer字段,做请求来源限制:

        Referer 指的是页面请求来源,只接受本站的请求,服务器才做响应;如果不是,就拦截。

四、CSRF常见的绕过方法

更改请求方法、删除token或发送空token、或者移除referer/origin字段。

五、CSRF、SSRF和重放攻击有什么区别

  • CSRF的攻击发起点是受害者的浏览器,攻击者利用受害者的身份权限在目标网站上执行操作;
  • SSRF的攻击发起点是目标服务器,攻击者利用目标服务器的功能发送恶意请求,通常针对内部资源或其他服务器;
  • 而重放攻击的发起点是攻击者自身,攻击者捕获并重放合法的通信数据包以重复执行操作。

总结

以上为博主的CSRF面试笔记整理,持续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值