xss漏洞以及防御实现

| |
[不指定 2020/05/22 18:44 | by 刘新修 ]

XSS三种类型

  • 存储型XSS:数据库中存在XSS攻击的数据,若数据未经过任何转义,返回给客户端。被浏览器渲染,就可能导致XSS攻击
  • 反射型XSS:将用户输入的存在XSS攻击的数据,发送给服务端,服务端并未对数据进行存储,也未经过任何转义,直接返回给客户端。被浏览器渲染。就可能导致XSS攻击
  • 纯粹发生在客户端的XSS攻击

XSS攻击演示

假设用户输入的参数为:

JavaScript代码
  1. <script>alert(xss)</script>  

如果后台没有对该数据做任何过滤直接显示到前端<div>标签中的话,源代码就变成了这样:

JavaScript代码
  1. <div><script>alert(xss)</script><div>  

那么在前端显示出来的是一个写着xss的弹窗,就发生了xss攻击

防御方案

我在项目中的主要的防御方案是对数据的过滤,对于数据中的危险字符进行相应的转义:

XML/HTML代码
  1. &----->&  
  2. <-----><  
  3. >----->>  
  4. "----->"  
  5. '----->'  
  6. /----->/  
H5/JS/CSS | 评论(0) | 引用(0) | 阅读(2344)