【问题标题】:Format json response asp.net core 2.1格式json响应asp.net core 2.1
【发布时间】: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


【解决方案1】:

只对输出进行编码是没有意义的。您应该使用 EF 或参数化查询来保护数据库免受恶意脚本的侵害。它将部分保护您的 json 输出数据。对于输出 HTML 的编码,您可以使用 this library

【讨论】:

    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 2018-05-23
    • 2019-10-07
    • 1970-01-01
    • 2014-01-21
    相关资源
    最近更新 更多