如果我在应用程序中使用XmlPullParser,是否有可能暴露出诸如“billion laughs”之类的漏洞?

使用XmlPullParser时应采取哪些安全措施?

最佳答案

默认情况下,XMlPullParser不会解析实体,因此您不会受到此类漏洞的攻击。但是,当您尝试解析未声明的实体时,您将不得不处理启动的异常。
为了保持这种行为,您必须确保在任何文档解析之前将XMlPullParser.FEATURE_PROCESS_DOCDECL设置为false。

还建议不要使用来自未知来源的DTD验证XML。最好的方法是在应用程序中使用嵌入式DTD并使用它来验证XML。

您可以通过以下链接找到有关XML外部实体的更多信息:

  • XXE Processing from OWASP
  • XXE Prevention Cheat Sheet from OWASP
  • 09-25 21:39