详细的可以见:https://www.cnblogs.com/backlion/p/9302528.html

    XML定义:可扩展标记语言,标准通用的标记语言的子集。

    XML由三部分组成,它们分别是:

    文档类型定义(DTD),就是XML的布局语言;

    可宽展的样式语言(XSL),就是XML的样式表语言;

    可扩展链接语言(XLL);

    XML格式说明==============================================================

    个人理解的XML和XXE - 图1

    XML格式说明==============================================================

    DTD(文档类型定义)__可选

    内部声明DTD:

    <!DOCTYPE 根元素 [元素声明]>

    引用外部DTD:

    <!DOCTYPE 根元素 SYSTEM “文件名”>

    或者

    <!DOCTYPE 根元素 PUBLIC “public_ID” “文件名”>

    DTD的实体

    内部子集:

    <!ENTITY Appsec “Appsec-Labs”>

    外部子集:

    <!ENTITY Appsec SYSTEM “http://site.com/some_content.html">

    如果外部需要引用一个外部资源,可以借助各种协议例如:

    file:///path/to/file.ext http://url/file.ext php://filter/read=convert.base64-encode/resource=conf.php

    例如:

    个人理解的XML和XXE - 图2

    外部实体和内部实体的定义格式都是:

    1.一个和号 &
    2.一个实体名称

    3.一个分号;

    例如个人理解的XML和XXE - 图3个人理解的XML和XXE - 图4