• xss攻击与防御


    一、XSS攻击

    Cross Site Scripting跨站脚本攻击

    利用js和DOM攻击。

    盗用cookie,获取敏感信息

    破坏正常页面结构,插入恶意内容(广告..)

    劫持前端逻辑

    DDos攻击效果——分布式拒绝服务攻击

    Server Limit Dos,Http header过长,server返回400

    二、攻击原理和手段

    攻击方式

    • 反射性
    • 存储性

    1、反射型攻击

    发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。

    • 明文URL中value就是攻击代码
    • 服务器解析URL中XSS代码并传回
    • 浏览器解析执行

    传播-》URL传播-》短网址传播

    2、存储型攻击

    存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。 

    更隐蔽。

    XSS存在的位置

    • 反射型——URL中
    • 存储型——服务器端
    •  

    XSS攻击注入点:

    • HTML节点内,通过用户输入动态生成
    • HTML属性,属性是由用户输入
    • JavaScript代码

    • 富文本(一大段HTML,有格式)
      •   富文本得保留HTML,HTML有XSS攻击风险

    三、防御

    1、浏览器自带防御

    ctx.set('X-Xss-Protection',0); 反射型参数出现在HTML内容或属性中。

    2、编码转义

    不能让所有用户输入保持原样

    对用户输入的数据进行HTML Entity编码。

    用转义字符代替字符。

    转义的时机

    • 存储时
    • 显示时

    3、过滤

    编码后显示时候还要解码。解码后显示原样代码前过滤。

    过滤掉不合法输入,保证安全。

    • 移除用户上传的DOM属性,如onerror等。
    • 移除用户上传的Style节点,Script节点,Iframe节点等。 

    onerror自动触发xss。 

    style:body:display:none.

    js对页面有百分比操作权限。

    iframe引入其它页面资源。

    通过xss注入的方式,引诱用户触发csrf攻击。

    3、CSP

    CSP: Content Security Policy 

  • 相关阅读:
    202. Happy Number
    198. House Robber
    191. Number of 1 Bits
    190. Reverse Bits
    189. Rotate Array
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
    [leetcode]Single Number II
    [leetcode]Single Number
    [leetcode]Clone Graph
  • 原文地址:https://www.cnblogs.com/starof/p/9632646.html
Copyright © 2020-2023  润新知