前端培训-初级阶段 - xss相关(2019-04-18)

前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,如今前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提高技术水平,打牢基础知识的中心思想,咱们开课啦(每周四)。javascript

这块内容是在会后又加了一节(老板说要处理这块内容)。以前其实就作过一期这样的内容XSS_跨站脚本攻击html

咱们要讲什么?

  1. xss 是什么?
  2. 攻击原理是什么?
  3. 危害
  4. 预防手段是什么?
  5. web 安全还有什么是须要注意的

XSS 是什么?

XSS 攻击全称跨站脚本攻击 (Cross Site Scripting),是为不和层叠样式表 (Cascading Style Sheets, CSS) 的缩写混淆,故将跨站脚本攻击缩写为 XSS,XSS 是一种在web应用中的计算机安全漏洞,它容许恶意 web 用户将代码植入到提供给其它用户使用的页面中。前端

XSS 攻击原理

恶意攻击者往 Web 页面里插入恶意 javascript 代码。当其余用户浏览该页面时,嵌入的代码会被执行,从而达到恶意攻击用户的目的。java

XSS 危害

常见于一些私人的博客,攻击者恶意评论,弹出alert,这种充其量也就是一个玩笑。
可是若是是盗窃cookie异常提交请求,这些就属于危险操做。cookie能够用来假装成其余用户操做,有可能就会形成财产上的损失。jquery

预防手段

首先咱们来分析他攻击方式,在其余用户端执行了一段异常代码,那么咱们不执行不就行了吗?web

  1. 富文本状况,这个可属于重灾区,由于你不肯定内容是什么,你还要原样输出。业界方案通常来讲是白名单,好比说 <script> 标签都过滤,一些时间都过滤好比<img onerror=,从而达到预防攻击的目的。
  2. 服务端直出状况,好比说一些模板引擎啊什么的,咱们公司用的是 velocityfreemark。这个位置又分为三个方法segmentfault

    1. toHtml,首先全部内容都是直出到页面,先通过html解析。这个位置要预防<script>等一些注入的状况
    2. toJS,有可能有一些内容是输出在了 script 标签内,这个时候咱们要注意他是否是"'</script>等,故意破坏数据的。
    3. toURL,这个就是判断存在不存在javascript:alert();的状况了。
  3. 页面 innerHTML 或者 write。这个怎么说呢,Vue 或者一些框架是没问题的,由于他们是插槽法,而不是拼接法。安全

    1. toHtml,主要用于 jquery ,处理一些字符变成实体编码
    2. toURL,也是用来判断javascript:alert();的状况

web 安全问题

XSS、CSRF、arp、xff、中间人攻击、运营商劫持、防暴刷cookie

  1. CSRF 通常来讲就是页面直出一个token,每次请求都带上token。
  2. 劫持 https有的时候运营商的劫持仍是没办法。
  3. 刷,这个略坑。

参考代码

clipboard.png

参考文献以及资料

  1. Web安全学习笔记也是当初在网上找资料发现的。介绍的挺全面的。
相关文章
相关标签/搜索