美文网首页
XSS攻击杂谈

XSS攻击杂谈

作者: Atlas_lili | 来源:发表于2019-07-28 15:20 被阅读0次

不存在一个提及XSS攻击就都可以应付的通法。需要根据需求思考可能存在的攻击点,做对应的处理。

什么是XSS攻击

XSS大名叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
下面就一个url传参的然后在某个地方展现参数文本的场景讨论

XSS攻击分类

反射型:后端读取参数,参数夹杂在响应中。
存储型:后端读取参数、存储,需要拉取数据时返回给前端。
DOM型:前端读取参数(路由传参),参数插入在DOM结构中。

防御XSS
X-XSS-Protection

一个浏览器用来防御XSS攻击的HTTP头字段。

X-XSS-Protection: 0
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=<reporting-uri>

0禁止XSS过滤。
1启用XSS过滤(通常浏览器是默认的)。 如果检测到跨站脚本攻击,浏览器将清除页面(删除不安全的部分)。
1; mode=block用XSS过滤。 如果检测到攻击,浏览器将不会清除页面,而是阻止页面加载。
1; report=<reporting-uri>启用XSS过滤。 如果检测到跨站脚本攻击,浏览器将清除页面并使用CSP report-uri指令的功能发送违规报告。
缺点:只拦截HTML属性和节点,浏览器支持性不好。

过滤

过滤是面对XSS的常规反应,但是要想好过滤什么。
怎么让一个参数内容是代码的时候另一边展示代码?
字符:> --> &gt; < --> &lt; & ---> &amp;
属性:on开头的统统干掉,src href data 要对url做校验(支持http、https或者相对路径,根据应用场景而定),style(因为老版本浏览器支持css expression,用户需要定制样式可以提供一些定制样式的class)
标签:script style link embed(嵌入资源,提防flash脚本) object(浏览器插件)
可不可以不要一刀切?
对于css expression可以做一个CSS过滤器不过会增加成本,而对于移动端H5的项目可以不用管,因为expreion已经废弃。
对于embed object如果不去除还要设置allowScript为none,等配置。
如何让用户输入的html在另外的地方作为html解析?
很少有这样的需求,富文本编辑器也是要点击上方提示样式按钮给特定模板语法的。可以通过白名单过滤解决,但是白名单的方案本身很勉强(受限于任知范围和HTML规范更新的支持)。

对于XSS攻击的处理后端是一定要做的,在前端做会减轻后端的压力。后端也是具备解析HTML能力的(通过自己写的解析器或者开一个浏览器线程),不过对于后端的意义是不同的,作为一个XML节点。

相关文章

  • XSS攻击杂谈

    不存在一个提及XSS攻击就都可以应付的通法。需要根据需求思考可能存在的攻击点,做对应的处理。 什么是XSS攻击 X...

  • 第三章 XSS 攻击

    要点 XSS 攻击 XSS 防护 一、 XSS攻击 XSS攻击 (Cross-Site Scripting,跨站脚...

  • 跨站攻击脚本-XSS

    XSS: Cross Site Scripting XSS 概念 XSS 分类 反射型xss攻击图示 XSS 攻击...

  • 常见的WEB攻击

    XSS攻击,CSRF攻击,SQL注入攻击,文件上传漏洞,DDoS攻击,其他攻击手段 1.XSS攻击 XSS(Cro...

  • 前端攻击和防御(一)XSS跨站脚本攻击

    (一)XSS跨站脚本攻击 参考:XSS站脚本攻击 (1)XSS简介 XSS攻击全称跨站脚本攻击(Cross Sit...

  • Web安全

    XSS攻击 一、什么是XSS攻击 XSS攻击又称CSS,全称Cross Site Script (跨站脚本攻击)...

  • 2021-05-30 前端常见的攻击方式有哪些?如果解决?安全措

    XSS 攻击 什么是 XSS 攻击 XSS 即 Cross Site Scripting(跨站脚本攻击),指的是攻...

  • 前端防范xss攻击的实用方案

    一、xss攻击原理 大家想必都听过xss攻击,那么这个xss到底是如何攻击、我们又应该如何防范的呢? xss攻击主...

  • 开发安全问题

    1.XSS攻击 1.1什么是XSS攻击手段 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表...

  • XSS攻击

    XSS攻击定义 XSS Cross Site Scripting 跨站脚本攻击 XSS攻击原理 它允许恶意web用...

网友评论

      本文标题:XSS攻击杂谈

      本文链接:https://www.haomeiwen.com/subject/gpourctx.html