【问题标题】:How to check for external entities in a set of XML files如何检查一组 XML 文件中的外部实体
【发布时间】:2021-05-06 11:20:29
【问题描述】:

为了避免a whole class of security vulnerabilities,我想在我的应用程序中解析XML文档时禁用外部实体扩展。

但是,我想首先确保我们没有任何依赖于这种行为的代码。

我们有很好的单元测试覆盖率,使用了大量的 XML 文件,所以如果这些文件都不包含外部实体,那么我相当肯定在 XML 解析器中禁用此功能是安全的。

我的问题:为了在我们的测试数据中捕获外部实体的所有潜在用途,我可以搜索什么?

如有必要,它可以是直接字符串搜索或正则表达式。如果更简单的话,它也可以是一组搜索(我宁愿搜索一组易于理解的 4 个字符串,而不是覆盖四个变体的单个正则表达式)。

我不介意搜索是否返回误报,只要可以通过简单的目视检查来确定它们是误报(例如必须包含 URL),但不能有任何误报(即我不想错过任何东西)。

【问题讨论】:

    标签: xml


    【解决方案1】:

    尝试使用首先设置 EntityResolver 以拦截外部实体解析调用的 SAX 解析器来解析它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 2015-11-17
      • 2015-08-11
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多