xss漏洞以及防御实现

XSS三种类型

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

XSS攻击演示

假设用户输入的参数为:


如果后台没有对该数据做任何过滤直接显示到前端

标签中的话,源代码就变成了这样:

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

防御方案

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

&----->&
<-----><
>----->>
"----->"
'----->'
/----->/

你可能感兴趣的:(xss漏洞以及防御实现)