一、XXE漏洞原理和案例实验演示
XXE(xml external entity -injection“)
1.XML xml是一种可扩展的标记语言,可用来存储数据、传输数据
XML格式:
第二部分:DTD
DTD:Document Type Defintion 文档类型定义,用来为XML文档定义语义约束。来约束XML文档格式。DTD中不同类型:
DTD外部实体举例:
外部引用可以支持http,file,ftp等协议。
如果一个接口支持接收xml数据,且没有对xml数据做任何安全上的措施,就可能会导致XXE漏洞。
以php为例,在php中有一个simplexml_load_string()函数 可以将XML字符串解析为SimpleXMLElement的对象。XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致攻击者可以构建一个恶意的XML。
在pikachu平台XXE模块进行实验操作演示:
查看后台代码