对遗留数据应用XSS策略

时间:2016-11-09 17:55:11

标签: java xss legacy-database

我们的遗留应用程序最初设计为允许为可自定义的页面存储任何html标记。这些页面的想法是存储客户需要的任何HTML,然后在某些时候有可能呈现这个HTML数据。

此方法允许用户存储任何XSS。我们当前的目标是定义和实施不允许存储任何XSS的策略。

根据一些预定义的规则,我们已经研究了几种能够清理html的方法:

但这两种方法都是基于卫生而非验证。所以基本情况可能如下所示:

  1. 用户输入一些要输入的数据
  2. 对用户输入进行清理并检查是否与原始(初始 - 步骤1)用户输入相等。
  3. 如果认为有任何差异,则认为失败。
  4. 此方法适用于新数据。如果是遗留数据,我们会遇到几个问题:

    1. 如果用户遗留数据包含禁用元素,则用户无法保存稍微修改过的html内容版本。
    2. 以下流程会让用户感到困惑:
      1. 用户编辑包含有关新定义的政策的禁止标签/内容的旧数据。
      2. 用户替换所有内容并保存。
      3. 用户出于某种原因决定恢复旧版本
      4. 不允许用户保存以前的版本,因为它包含禁止的标签/内容。
    3. 所以出现以下问题:

      1. 验证恶意html元素和XSS向量的用户输入的最佳方法是什么?
      2. 哪种方法可用于修复遗留数据中提到的问题?

0 个答案:

没有答案