Xml 强制解析攻击

Xml 强制解析攻击,xml,parsing,security,Xml,Parsing,Security,在研究xml漏洞时,我遇到了强制解析攻击。 有谁能说出什么是强制解析攻击(在SOA应用程序中)。袭击是如何发生的?如何使用java中的xml解析器实施此攻击?因为web服务需要使用消息和xml文档,所以可能会创建xml文档,这可能会在使用系统尝试验证和路由消息时对其造成压力。一次发送足够多的文档,消费系统可能会耗尽所有资源,试图确定消息是否正确,并拒绝有效消息。通常,您通过构造一个具有非常深的嵌套结构的消息,甚至递归嵌套来实现 您将通过构造这样一个文档并将其发送到web服务来实现它。通常应用程序

在研究xml漏洞时,我遇到了强制解析攻击。
有谁能说出什么是强制解析攻击(在SOA应用程序中)。袭击是如何发生的?如何使用java中的xml解析器实施此攻击?

因为web服务需要使用消息和xml文档,所以可能会创建xml文档,这可能会在使用系统尝试验证和路由消息时对其造成压力。一次发送足够多的文档,消费系统可能会耗尽所有资源,试图确定消息是否正确,并拒绝有效消息。通常,您通过构造一个具有非常深的嵌套结构的消息,甚至递归嵌套来实现


您将通过构造这样一个文档并将其发送到web服务来实现它。

通常应用程序使用文档类型定义(DTD)实现向后兼容性。
XML定义允许使用允许非法字符的元素“CDATA”有关此攻击的示例实现,请参阅“十亿人笑着攻击。”

有关攻击、如何测试以及基本防御的完整讨论,请参阅(免费谷歌预览-仅3页)。摘录:

“这种十亿笑攻击滥用了许多XML解析器在解析XML文档时将其整个结构保存在内存中的趋势。。。足以耗尽易受攻击程序的可用内存。”

以下是一些其他资源:


攻击对消费系统造成的伤害百分比>是否有任何解决方案?取决于系统及其对文档的作用。在解析之前通过XSD验证文档,并保持解析简单。