XSS(跨站脚本)漏洞及解决

xss是什么

xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入的恶意html代码会被执行,从而达到恶意用户的特殊目的。

本质:浏览器把输入数据插入页面中,当成脚本执行;
XSS分为:

  • 存储型
    存储区域在后端数据库,插入点在HTML
    
  • 反射型
    存储区域在URL,插入点在HTML
  • DOM型XSS
    存储区域在数据库、前端存储、URL都可能发生;插入点在javascript

    反射型XSS

  • 1、攻击者构造出特殊的 URL,其中包含恶意代码。
  • 2、攻击者诱使用户点击链接,恶意代码被拼接到 HTML 中返回给浏览
    器。
  • 3、浏览器解析执行。
  • 4、恶意代码窃取用户数据并发送到攻击者的网站。攻击者冒充用户的行 为,调用目标网站接口执行攻击者指定的操作。

常⻅于用户登陆、数据搜索等位置

存储型XSS

  • 1、攻击者构造恶意代码,并提交保存到数据库。
  • 2、用户打开应用,从数据库读取恶意代码,拼接到 HTML 中返回给浏览
    器。
  • 3、浏览器解析执行。
  • 4、恶意代码窃取用户数据并发送到攻击者的网站。攻击者冒充用户的行 为,调用目标网站接口执行攻击者指定的操作。

    常⻅于如论坛发帖、商品评论、用户信息修改等

DOM型XSS

  • 1、攻击者构造出特殊的 URL,其中包含恶意代码。
  • 2、攻击者诱使用户点击链接。
  • 3、浏览器解析执行,前端取出 URL 中的恶意代码并执行。
  • 4、恶意代码窃取用户数据并发送到攻击者的网站。攻击者冒充用户的行 为,调>用目标网站接口执行攻击者指定的操作。

    XSS的攻击载荷