XXE——参数实体攻击(CVE-2017-14949)

2018-01-02  本文已影响0人  sum3mer

XML参数实体

参数实体必须定义在单独的DTD文档中或XML文档的DTD区(但是引用只能在DTD文档中,即外部子集,而不能在XML文档的DTD区),前者为该XML文档的外部子集,后者为该XML文档的内部子集

参数实体的作用是作为DTD中的元素的条件控制。参数实体定义以%作为开头,引用也以%开头,以;结尾。一般实体的定义无%开头,引用以&开头,以;结尾

DTD区

由于参数实体只能在DTD引用,因此参数实体看上去无害。利用参数实体进行攻击的payload。

malicious.dtd文件里的内容如下:

由于外部参数实体是允许的,实体远程将在数据解析时扩展,然后从攻击者设置的恶意网站获取DTD的另一部分,如上例中的internal。

在解析XML数据时,任何引用internal的地方都将被文件/ etc / passwd的内容替换。

上一篇 下一篇

猜你喜欢

热点阅读