CSRF攻击和SSRF攻击

目录

前言 

一、CSRF攻击

(一)是什么

(二)怎么防御

二、SSRF攻击

(一)是什么

(二)怎么防御


前言 

阅文集团后端笔试

参考:https://tech.meituan.com/2018/10/11/fe-security-csrf.html

一、CSRF攻击

(一)是什么

CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。CSRF攻击之所以能够成功,是因为服务器误把攻击者发送的请求当成了用户自己的请求。

一个典型的CSRF攻击有着如下的流程:

  • 受害者登录a.com,并保留了登录凭证(Cookie)。
  • 攻击者引诱受害者访问了b.com。
  • b.com 向 a.com 发送了一个请求:a.com/act=xx。浏览器会默认携带a.com的Cookie。
  • a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求。
  • a.com以受害者的名义执行了act=xx。
  • 攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作。

(二)怎么防御

CSRF通常从第三方网站发起,被攻击的网站无法防止攻击发生,只能通过增强自己网站针对CSRF的防护能力来提升安全性。并且CSRF具有这俩个特点:

  • CSRF(通常)发生在第三方域名。
  • CSRF攻击者不能获取到Cookie等信息,只是使用。

针对这两点,我们可以专门制定防护策略,如下:

  • 阻止不明外域的访问
    • 同源检测
    • Samesite Cookie
  • 提交时要求附加本域才能获取的信息
    • CSRF Token
    • 双重Cookie验证
    • 在我们登录成功获得 Token 之后,一般会选择存放在 localStorage (浏览器本地存储)中。然后我们在前端通过某些方式会给每个发到后端的请求加上这个 Token,这样就不会出现 CSRF 漏洞的问题。因为,即使有个你点击了非法链接发送了请求到服务端,这个非法请求是不会携带 Token 的,所以这个请求将是非法的。

二、SSRF攻击

(一)是什么

SSRF (Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。

攻击者利用服务器作为代理,发送请求到内部或外部的资源。

  • 能扫描内部网络,获取端口,服务信息。
  • 攻击运行在内网或本地的应用程序。

(二)怎么防御

  • 输入验证:对用户输入进行严格校验,禁止任何可能导致请求转发的输入。
  • 白名单机制:仅允许请求指定的IP或域名,限制服务器发送请求的目标。
  • 不直接处理用户输入:避免直接使用用户输入构建请求,而是使用安全的、经过限制的URL。
  • 网络隔离:将敏感服务与外网隔离,限制服务器的访问权限,最小化暴露面。
  • 监控与日志:定期监控请求和访问日志,以发现潜在的异常行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值