csrf 与 xss 攻击

12 篇文章 0 订阅
2 篇文章 0 订阅

CSRF 攻击

Cross-site request forgery , 即跨站请求伪造。 通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

下面我用一个生动形象的例子来解释攻击原理:

用户小明登录了自己的招商信用卡,于是在浏览器就存了他登录的招商的 cookie 信息。 这个时候,他去打开了一个危险网站,那个网站会偷偷给你发起登录招商的接口请求,然后浏览器不知不觉就拿着之前的那个 cookie 去请求了, 然后请求成功了,危险网站获取到了你在招商上面的信息了。

这就是跨站请求伪造的来源了,那么要如何防御呢?

1 不要去危险网站?
网站这么多,你也不能知道到底谁危不危险, 怕是不行。
2 请求二次确认
通过设置二次确认,如验证码等,伪装的请求无法模拟这类信息。
3 请求携带自身网站标记
招商内部的前端与后端约定好需携带的请求标记,标记此请求来自自己网站上的请求,外部伪装的请求不知道你们的暗号
4 - - 欢迎补充

XSS 攻击

Cross-Site Scripting(跨站脚本攻击)为了和 CSS 区分, 简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。

生动的例子:

一个可恶的人,刷到了你的博客网站,然后他在评论里面写了一段脚本

<script type="text/javascript">
(function () {
    alert('1');
 }());
</script>

然后当他提交的时候,你直接innerHTML 插入你的 dom 中,恭喜你,你被整了。
更或者,他写了一个网址,然后你去点击,恭喜,网址指向他自己写的脚本,并且立即执行了。

所以通过这一现象,我们可以很好地知道防止的方式就是,通过转义用户的输入信息,让用户的输入只做展示,不会进行执行或可点击。

如上面的那一段代码,可以通过把 < 、 > 进行转义

 &ltscript&gt
   (function () {
        alert('1');
    }());
&lt/script&gt

即可正常展示了。

详解
https://tech.meituan.com/2018/09/27/fe-security.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值