xxe

扫码查看

XXE

概述

html被用来显示数据

其中

组成

声名

文档类型定义DTD(document type definition),是下面文档元素的规定可以叫约束,定义了格式

“<!DOCTYPE note SYSTEM "Note.dtd">”

DOCTYPE 声明是对外部 DTD 文件的引用

文档元素

“”

利用

其中我们能利用的是DTD部分引入外部文档

有三种方法

  1. DTD内部声名:<!DOCTYPE 根元素 [元素声名]>
  2. DTD外部声名:<!DOCTYPE 根元素名称 SYSTEM "外部DTD的URI">其中外部引用支持http、file和ftp等
  3. 引用公共DTD:<!DOCTYPE 根元素名称 PUBLIC "公用DTD的URI">

如果一个接口支持接受

lib

用例

<?

"%name"(参数实体)实在DTD中被引用,而"&name;"是在

能怎么利用看支持什么协议,具体的参考

https://security.tencent.com/index.php/blog/msg/69

防御

方案一、使用开发语言提供的禁用外部实体的方法
PHP:
lib其他语言:

方案二、过滤用户提交的
关键词:,SYSTEM和PUBLIC。

参考:

https://security.tencent.com/index.php/blog/msg/69

查看更多