将数据保存为XML时防止攻击

时间:2011-12-19 20:49:03

标签: asp.net xml security xss

我们有一个Web应用程序,它以XML格式保存调查数据,而不是标准数据库。它使用第三方调查组件(实际上是this component,但经过修改以添加一些功能)

目前我们正在使用限制性非常严格的白名单验证方法来防止潜在的恶意输入进入调查结果XML文件。但是,白名单规则正在成为我们客户的支持问题。它们只是限制性太强,我想知道我是否只是限制性。如果有人使用斜角括号(html / xml标签未闭合或关闭)等,我不知道XML文档会产生什么影响。

如果我将这些存储在CDATA部分中,然后清理输出将防止在这些情况下损坏XML文档?我们确实使用Microsoft.Anti-Xss和Web Protection库来清理所有不受信任的输出。

更好的是,是否有防止XML注入或XML数据特定于XSS的指南?或者我只是过度思考这个?

核心问题是,只要我正确清理输出,我是否需要过滤输入?我的偏执性质是肯定的,但我不确定并且认为我会要求一些专家意见。

2 个答案:

答案 0 :(得分:0)

将数据存储到xml文件时,您不需要对其进行编码,假设您没有直接写入xml。检索后,您应该对显示给用户的任何内容进行HTML编码。建议使用Microsoft Anti-XSS Library进行编码。

答案 1 :(得分:0)

检查OWASP Data Validation Guide以了解您需要解决的漏洞。