【发布时间】:2019-01-25 19:32:03
【问题描述】:
您好,我目前正在处理我们应用程序上的一些 XSS 漏洞,基本上我的目标是对来自我们的 Web api(即 .net 核心项目)的所有返回对象进行编码。我目前正在查看一些功能或类,当将其返回给请求者时,我可以使用它们来编码所有 json 响应?类似于我可以在我的控制器上实现的 json 格式化程序
【问题讨论】:
-
您是否考虑过清理输入数据而不是输出数据?最好不要在您的存储/数据库中包含易受攻击的内容。
-
我确实考虑过这一点,但我担心这可能需要大量工作,因为我们的应用程序中有很多用户输入。所以我决定在输出上做。你认为哪种方法更好?@YeldarKurmangaliyev
-
我会在输入时这样做。 ASP.NET 已经做到了,并防止恶意代码被提交到应用程序。例如,您可以尝试在用户名或密码等任何输入中输入
<script>alert(1)</script>。但是,我不知道它是否可以保护所有来源的 XSS。 This MSDN article may also be helpful -
顺便说一句,该文档说“始终在输出之前对不受信任的输入进行编码,无论执行了何种验证或清理。”这是正确的 - 最好在输入和输出上都这样做。
标签: c# asp.net-core asp.net-core-webapi