章节1:XXE漏洞-上
01 XML基础知识
XML
eXtensible Markup Language
可扩展标记语言
XML用途
配置文件
交换数据
XML内容
XML格式要求
- XML文档必须有根元素
- XML文档必须有关闭标签
- XML标签对大小写敏感
- XML元素必须被正确的嵌套
- XML属性必须加引号
XML格式校验
DTD(Document Type Definition)
文档类型定义
DTD内容之元素
元素 ELEMENT
DTD内容之实体
实体 ENTITY
实体ENTITY的使用
内部实体 INTERNAL [ɪnˈtɜːnl] ENTITY
外部实体ENTITY的使用
外部实体引用:协议
协议 | 使用方式 |
---|---|
file | file:///etc//passwd |
php | php://filter/read=convert.base64-encode/resource=index.php |
http | http://wuya.com/evil.dtd |
不同语言支持的协议
Libxml2 | PHP | Java | .NET |
---|---|---|---|
file http ftp | file http ftp php compress.zlib compress.bzip2 data glob phar | file http https ftp jar netdoc mailto gopher * | file http https ftp |
PHP扩展
Schema | Extension Required |
---|---|
https ftps | openssl |
zip | zip |
ssh2.shell ssh2.exec ssh2.tunnel ssh2.sftp ssh2.scp | ssh2 |
rar | rar |
ogg | oggvorbis |
expect | expect |