如果我在应用程序中使用XmlPullParser,是否有可能暴露出诸如“billion laughs”之类的漏洞?
使用XmlPullParser时应采取哪些安全措施?
最佳答案
默认情况下,XMlPullParser
不会解析实体,因此您不会受到此类漏洞的攻击。但是,当您尝试解析未声明的实体时,您将不得不处理启动的异常。
为了保持这种行为,您必须确保在任何文档解析之前将XMlPullParser.FEATURE_PROCESS_DOCDECL
设置为false。
还建议不要使用来自未知来源的DTD验证XML。最好的方法是在应用程序中使用嵌入式DTD并使用它来验证XML。
您可以通过以下链接找到有关XML外部实体的更多信息: