【问题标题】:XSS Prevention .NET Core 2.x and aboveXSS 预防 .NET Core 2.x 及更高版本
【发布时间】:2020-01-16 12:58:33
【问题描述】:

我们有一个 asp.net core 2.1 web api,其中我们有一个端点来发布供应商,下面的示例有效负载存储在 PostgreSQL 数据库中。目前,如果我们传递一个我们想要限制和清理有效负载的脚本,我们已经确定了一个 XSS 漏洞。

我在 Internet 上进行了搜索,但找不到有助于防止 XSS 攻击的 .NET Core 有效解决方案。任何人都可以通过示例代码块提供相同的解决方案。

提前谢谢你。

[{
    "Vendor1": {
        "Name": "Happy Customer 1 “><script>alert(“XSS”)</script>",
        "UIN": ""
    },
    "Vendor2": {
        "Name": "Happy Customer 2 “><script>alert(“XSS”)</script>",
        "UIN": ""
    }
}]

【问题讨论】:

  • 为什么一个 web api 需要 XSS 预防?你是如何超越 json 的?
  • @IanKemp 道歉,但除了专家建议之外,这不是我的意图。这对我来说是新事物,也是迫切的要求。此外,我发现的解决方案都与从 UI 应用程序和更多 MVC 或 razor 应用程序接受输入有关,这对我的场景没有帮助。
  • @XingZou 我们的公共 API 很少,其中我们的安全团队发现了一个漏洞,他们能够通过有效负载传递 XSS 脚本,并且相同的脚本存储在我们的数据库中,需要修复,我是卡住。我正在 .net 核心中寻找一种方法,在这种方法中,我们可以使用 actionfilter 在访问数据库之前清理此类请求。感谢您的帮助和时间。
  • 这能回答你的问题吗? How to protect against XSS in ASP.NET Core?

标签: json asp.net-core xss asp.net-core-webapi


【解决方案1】:

预防 XSS 的方法 - 1) HTLML 对传入的输入进行编码。参考 - https://docs.microsoft.com/en-us/dotnet/api/system.web.httputility.htmlencode?view=netcore-2.0

2) 通过白名单进行输入验证。

你可以关注这个参考,它展示了在.Net core中防止xss的所有方法-https://docs.microsoft.com/en-us/aspnet/core/security/cross-site-scripting?view=aspnetcore-2.0

希望对你有帮助

【讨论】:

猜你喜欢
  • 2020-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多