XXE笔记


XXE

1. XML注入

  • 简单如图所示:

img

类似于SQL注入,在可控的范围内,插入了xml代码

XXE注入

  • 全称为XML外部实体注入

也就是在提交xml数据的时候,在导入dtd文档的时候,尝试倒入自己本地的文件,或者远程的文件

基础知识:

https://xz.aliyun.com/t/3357

  • 除了在DTD中定义元素(xml的标签)以外,我们还能在DTD中定义实体(对应xml标签的内容)

实例代码:

1. 实验一: 有回显地读取本地敏感文件(Normal XXE)

这个实验的攻击场景模拟的是在服务器接收并解析XML格式输入并且有回显的时候,我们就能输入我们自定义的xml代码,通过引用外部实体的方法引用服务器上面的文件

本地服务器上放上解析xmlphp代码

实例代码:

Xml.php

<?php

    libxml_disable_entity_loader (false);
    $xmlfile = file_get_contents('php://input');
    $dom = new DOMDocument();
    $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); 
    $creds = simplexml_import_dom($dom);
    echo $creds;

?>

文章作者: 尘落
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 尘落 !
评论
  目录