前端安全知识(XSS和CSRF)

一、XSS(跨站脚本攻击)

xss:跨站脚本攻击(Cross Site Scripting)是最常见和基本的攻击 WEB 网站方法,指浏览器中执行恶意脚本, 然后拿到用户的信息进行操作

1、常见的攻击方式

  • 在输入框输入恶意代码(例如评论)
  • 劫持用户的cookie

2、防御方式

  • httpOnly: 在 cookie 中设置 HttpOnly 属性后,js脚本将无法读取到 cookie 信息。
  • 输入检查,一般是用于对于输入格式的检查,例如:邮箱,电话号码,用户名,密码……等,按照规定的格式输入。
  • 将(<、>)这些字符进行编码转换。

二、CSRF(跨站点请求伪造)

csrf:跨站点请求伪造(Cross-Site Request Forgeries),也被称为 one-click attack 或者 session riding。

指的是黑客诱导用户点击链接,打开黑客的网站,然后黑客利用用户目前的登录状态发起跨站请求, 完成一些违背用户意愿的事情(如修改用户信息,删初评论等)。

1、常见的攻击方式

  • 利用已通过认证的用户权限更新设定信息等;
  • 利用已通过认证的用户权限购买商品;
  • 利用已通过的用户权限在留言板上发表言论。

2、防御方式

  • 验证码;强制用户必须与应用进行交互,才能完成最终请求。此种方式能很好的遏制 csrf,但是用户体验比较差。
  • 利用 Cookie 的 SameSite 属性。
  • Referer check;请求来源限制,此种方法成本最低,但是并不能保证 100% 有效,因为服务器并不是什么时候都能取到 Referer,而且低版本的浏览器存在伪造 Referer 的风险。
  • token;token 验证的 CSRF 防御机制是公认最合适的方案。

三、XSS与CSRF的区别

  • 通常来说 CSRF 是由 XSS 实现的,CSRF 时常也被称为 XSRF(CSRF 实现的方式还可以是直接通过命令行发起请求等)。
  • 本质上讲,XSS 是代码注入问题,CSRF 是 HTTP 问题。XSS 是内容没有过滤导致浏览器将攻击者的输入当代码执行。CSRF 则是因为浏览器在发送 HTTP 请求时候自动带上 cookie,而一般网站的 session 都存在 cookie里面。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值