xss跨站脚本攻击

原理

简介: 数据显示在页面,如果是脚本<script></script>,就会运行,从而达到攻击效果

xss跨站脚本攻击
url

xss跨站脚本攻击
存储式.gif

数据来源:

  1. url上的
  2. 从数据库读取的。如用户的评论,如果是一段脚本<script></script,当评论在你的页面显示的时候,未经处理,这段脚本就会运行

导致的后果

  1. 用户的信息会被窃取。cookie信息,账号信息
  2. 页面逻辑会被改。重定向到某个网站、修改页面内容

攻击方式

  1. url方式:http://baidu.com?query=<script></script>,如果页面直接将query字段的值拿到放到页面显示,脚本就会被执行。可以包含脚本的页面发送给其他用户,只要点击就会中招。大部分浏览器支持X-XSS-Protection,但firefox不支持
  2. 从数据库拿出的脚本,显示在页面上。如评论列表,用户名称...,将用户输入的再拿出来显示,其他用户浏览到这个页面。未经处理都造成攻击

防御

  1. htpp header 增加X-XSS-Protection字段,用来预防url的脚本
  2. 字符过滤:将< > ' " 替换成字符实体
  3. csp(内容安全策略): http 响应头字段,允许哪些脚本可以运行