title:XXE漏洞
1.攻击脚本
]>
%dtd;
]>
**注意实体引用后标上‘;’!!!**当引用一个实体时,分号表示实体引用的结束
“>
2.外部实体
“>
%all;
%send;
参数实体all的嵌套:
参数实体%file
和 %send
的声明在同一 DTD 声明块中,属于同一层级。但XML 解析不会解析同一层级的参数
为什么要引用外部实体
在 DTD 的内部子集中,有一个规则限制,即不允许在标记声明里引用参数实体(PEReferences forbidden in internal subset in Entity)
%
在 DTD 中,%号是参数实体的起始标志,有特殊用途。当在特定 DTD 声明语句中直接使用%号时,解析器会将其按参数实体引用的语法规则处理。但如果该%号所处位置或上下文不符合参数实体引用的规范,解析器就无法正确解析,从而报错get.php?file=%file;’>”>