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进行漏洞的演示。