【问题标题】:How to securely parse SAML metadata?如何安全地解析 SAML 元数据?
【发布时间】:2017-05-10 18:58:26
【问题描述】:

我正在开发一个支持 SSO SAML 授权/身份验证的项目。上次安全分析表明,我们存在与 XML 外部实体注入攻击相关的安全漏洞。这是代码有问题的部分:

InputStream is = new ByteArrayInputStream(metadata.getBytes());

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder docBuilder;
docBuilder = factory.newDocumentBuilder();
Document doc;
doc = docBuilder.parse(is);

我在互联网上搜索并找到了不同的解决方案,其中一些适用于一般的 XML 文档解析。我还找到了解决方案,即禁用解析器的特定选项(例如扩展外部实体)。但我不知道我的情况是否可以接受这种解决方案。所以我的问题是:解析 SAML 元数据最安全的方法是什么?

谢谢, 拉菲克

【问题讨论】:

    标签: xml security saml


    【解决方案1】:

    我认为最好的方法是依赖一个知名的第三方托管软件作为 OWASP 的 ESAPI 库。这已成为事实上的标准。 您可以使用专用的 ESAPI 工具对其进行验证,任何已知的恶意输入都会被过滤掉。此操作后,您可以按照自己的方式进行解析。

    This is the link to ESAPI

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 2017-02-16
      • 2016-11-28
      • 1970-01-01
      • 2020-02-10
      相关资源
      最近更新 更多