XXE实体注入

1.XXE原理

XML被设计用来传输和存储数据。所以在网站中可以使用XML来读取或者写入数据。
如果用户可以控制XML代码,既可以利用XML读取任意文件。

2.php相关漏洞

php中有个函数:simplexml_load_string()。这个函数是将XML转化为对象,然后在php中使用。

3.注入小技巧

很多时候注入都是没有回显的,对于这类XXE来说,可以用XML将目标读取出来,然后使用XML去加载另一个php文件,让另一个php文件将目标文件写入到用户可以访问的地方。

4.XML相关知识

(1)定义

XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。

(2)格式


这里面比较重要的是DTD(文档类型定义)部分。一般读取文件都是在这一部分。

你可能感兴趣的:(网络安全)