CSRF及XSS认识

CSRF (Cross-site request forgery): 跨站请求伪造

攻击者盗用了你的身份,以你的名义发送恶意请求

CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的!

简单阐述CSRF攻击的思想:

1.user 浏览并登陆信任 网站 A

2.网站A 验证通过,在 user 产生A的Cookie

3.user 在没有登出A网站的情况下,访问危险网站B

4.网站B 要求访问 网站A ,发出一个请求(request)

5.user浏览器根据B的请求带着A的Cookie访问网站A

6.网站A分不清请求是谁发出的,根据Cookie,会以user的权限处理请求,这样网站B就达到了模拟用户操作的目的了。

简单的说,登录了受信任的网站,并在本地生成Cookie,在不登出的情况下,访问危险网站就有可能受到CSRF攻击。

CSRF的防御

CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手比较好。

总的思想就是在客户端页面增加伪随机数。

SameSite属性

Chrome51开始,浏览器的Cookie新增一个SameSite属性,用来防止CSRF攻击和用户追踪

SameSite属性describe
Strict最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。
Lax大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外。
None网站可以选择显式关闭SameSite属性

导航到目标网址的 GET 请求,只包括三种情况:链接,预加载请求,GET 表单。

1、<a href="..."></a>

2、<link rel="prerender" href="..."/>

3、<form method="GET" action="...">

// Strict 
Set-Cookie: CookieName=CookieValue; SameSite=Strict;

// Lax
Set-Cookie: CookieName=CookieValue; SameSite=Lax;

// None 必须同时设置Secure属性
Set-Cookie: widget_session=abc123; SameSite=None; Secure

XSS(Cross Site Scripting):跨站脚本攻击

攻击者在web页面插入一些恶意的script代码

当用户浏览页面时,嵌入的script代码会执行,因此达到恶意攻击用户的目的;

反射型:一般指攻击者通过特定方式,诱惑受害者去访问一个恶意代码的URL;(非持久性:攻击方式只有一次性)

存储型:主要是将恶意代码上传或存储到服务器中,下次只要受害者浏览包含此恶意代码的页面就会执行恶意代码。

DOM-based型: 是基于文档对象模型的XSS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白菜new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值