pikachu-XXE(xml external entity-injection)

Posted feng-l

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pikachu-XXE(xml external entity-injection)相关的知识,希望对你有一定的参考价值。

部分图片来自于网络,如有侵权,请联系我及时删除~

一、XXE的概念

1.1 什么是xml

xml是一种可拓展的标记语言,可以用来存储数据,例如:我们经常看到一些.xml的文件;它还可以用来传输数据,我们可以直接将数据以xml的格式放在请求当中,发给服务器。

1.2 xml文档格式

技术图片

技术图片

技术图片

1.3 simplexml_load_string()

函数功能:转换形式正确的XML字符串为SimpleXMLElement对象

注意:在php里边解析xml用的是libxml,它在≥2.9.0的版本中,默认是禁止解析xml外部实体内容的。而XXE漏洞就发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致攻击者可以构造一个恶意的XML。

二、漏洞演示

1、我们来到pikachu实验平台。

技术图片

2、看一下源代码。

技术图片

3、用一个例子进行实验。

技术图片

技术图片

4、下面我们来用恶意的xml进行漏洞的演示。

技术图片

以上是关于pikachu-XXE(xml external entity-injection)的主要内容,如果未能解决你的问题,请参考以下文章

pikachu-xx型注入

XML External Entity attack/XXE攻击

XXE: XML eXternal Entity Injection vulnerabilities

XML External Entity 漏洞

译Attacking XML with XML External Entity Injection (XXE)

Apache POI XML外部实体(XML External Entity,XXE)攻击