前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XSS攻击

XSS攻击

作者头像
wade
发布2020-04-23 16:18:58
1K0
发布2020-04-23 16:18:58
举报
文章被收录于专栏:coding个人笔记coding个人笔记

XSS叫做跨站脚本攻击,在很早之前这种攻击很常见,2010年数据统计的时候还是排名第二的web安全威胁。在从事前端之后,还没有见过哪个网站会被XSS攻击过,当然,也从来没去各个网站尝试过。

XSS说起来也简单,就是让网页html出现script标签,从而执行内部的代码,获取一些用户信息,包括cookie、storage等,然后通过这些信息以被攻击的用户身份去进行一些操作。

XSS可以分为三种类型:

反射型XSS(也叫非持久型):有些网页是通过地址传参,然后又把参数传递到页面,这种情况下,通过参数传递<script>...</script>,然后返回之后就执行中间的代码,从而进行攻击。这种一般都是一次性的,就是通过链接注入。

DOM XSS:通过一些不同场景,改变DOM的属性,注入<script>...</script>,比如我们添加网络图片的功能,原本代码是:<img src="xxx">,我们一般是通过设置src=’xxx’,如果我们xxx输入的是" onerror="alert(1),结果就变成<img src="" onerror="alert(1)">,于是就被攻击了。包括a链接也是可以通过设置src的时候这样操作。这是纯前台攻击,不经过后端。

存储型XSS(也叫持久型):通过一些评论或者文章,发布之后存储到服务器,不同用户请求回来的都是这种脚本,这种攻击会一直存在,有很强的稳定性,因为是记录在数据库里面。

其实到了现在,这种攻击很少能生效了,我还特地去掘金、csdn、简书评论试了下,并不会造成攻击。但是还是需要防范。

现在很多浏览器内置了防范XSS的模块,我们也可以通过一些方案防止:

客户端校验数据,通过转义等方法过滤特殊的字符或者直接去除特殊的字符。服务端存储的时候进行一次过滤,跟前端做的类似。服务端或者前端输出的时候,渲染到页面的时候也进行过滤。如果服务端设置cookie的时候设置httponly等。简单来说就是处理特殊字符。

其实XSS攻击就是通过执行js代码,当然,通过什么方法注入到你的页面或者你触发这些方法就不一定了。觉着这个攻击了解了解就够了,到现在还没遇见需要对XSS进行处理的项目。

(完)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档