Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xml漏洞_Xml_Security - Fatal编程技术网

xml漏洞

xml漏洞,xml,security,Xml,Security,xml已经成为面向服务的应用程序(SOA)的主干,在未来它将是一个有用的工具。 由于xml简单、灵活,因此很容易受到攻击,攻击者可以将其用于自己的目的。 因此,一些攻击包括强制解析攻击、xml外部实体(XEE)攻击、xml dos(xdos)攻击、xml炸弹。 任何人都可以详细讲述这些攻击。 如何在单个系统中实际模拟这些攻击?首先,我们需要区分攻击的效果和所利用的功能 可以利用的XML的特定功能包括 XML实体 解析器和验证器的专有扩展 循环/递归引用 远程访问 其影响可以是: DOS 信

xml已经成为面向服务的应用程序(SOA)的主干,在未来它将是一个有用的工具。 由于xml简单、灵活,因此很容易受到攻击,攻击者可以将其用于自己的目的。 因此,一些攻击包括强制解析攻击、xml外部实体(XEE)攻击、xml dos(xdos)攻击、xml炸弹。
任何人都可以详细讲述这些攻击。

如何在单个系统中实际模拟这些攻击?

首先,我们需要区分攻击的效果和所利用的功能

可以利用的XML的特定功能包括

  • XML实体
  • 解析器和验证器的专有扩展
  • 循环/递归引用
  • 远程访问
其影响可以是:

  • DOS
  • 信息披露
我不认为percise对“炸弹”有什么定义,但它指的是一种特别“紧凑”且“扩展”的攻击。“强制解析攻击”利用XML模型的性质来压倒解析器

以下示例摘自。 此外,如果你懂法语,请阅读优秀杂志“”

示例1

使用实体的炸弹,由于耗尽内存而导致拒绝服务

<?xml version="1.0"?>
<!DOCTYPE kaboom [
  <!ENTITY a "aaaaaaaaaaaaaaaaaa...">
]>
<kaboom>&a;&a;&a;&a;&a;&a;&a;&a;&a;...</kaboom>
示例3

使用特定解析器的功能访问远程资源(请参阅,现在想想如果文件
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">


如果这是学校作业,那么您还应该考虑如何保护自己免受此类攻击。

也许我在这里有些迟钝,但有人能解释一下示例4中的递归吗?据我所知,
&companyname;
将扩展到“Contoso Inc.”,
&divisionname;
将扩展到Contoso公司网络产品部"。我看不出这两个都会导致问题。@squeamishossifrage如果您转到从中提取示例的链接,您会得到更清楚的解释。这里给出的递归示例不是本文中的递归示例,只是一个简单的嵌套示例。此外,只有当您的解析器允许文章中描述的无效XML。
<!ENTITY companyname "Contoso Inc.">
<!ENTITY divisionname "&companyname; Web Products Division">