CVE-2014-3529(excel和xxe漏洞)-韶华当歌





CVE-2014-3529(excel和xxe漏洞)

发布时间:2020/06/19 作者:linmoumou 浏览(262) 评论(1) 分类【CVE】 文章来源:博主原创

    CVE-2014-3529(javaxxe)

    0 .简介

    Apache POI 3.10-FINAL及以前版本被发现允许远程攻击者通过注入XML外部实体访问外部实体资源或者读取任意文件。

    1. 漏洞编号

    CVE-2014-3529

    2. 影响范围

    poi-ooxml-3.10-FINAL.jar及以下版本

    3. 利用文件

    [Content-Types].xml

    4. 漏洞利用

    示例漏洞利用,是检测注入XML外部实体是否可以访问外部实体。

    1. 新建 xxe.xlsx

    2. 把后缀改为.zip,打开会看到以下文件:

    3. 使用文本编辑器打开[Content-Types].xml注入外部实体,在第二行插入xxe代码:

      上面的http://xxxxxxx/dtd为测试服务器,在上面打开监听如果漏洞触发,服务器将接收到访问记录,漏洞复现成功。

    4. 把压缩文件改回xlsx。

    5. 测试代码,引入 poi-ooxml-3.10,运行测试程序:

      运行结果虽然有报错,但是本地服务器接收到了请求,漏洞利用成功。

    5. 例题

    [网鼎杯 2020 青龙组]filejava

    6. 漏洞分析

    poi-ooxml 包里 org.apache.poi.openxml4j.opc.internal.ContentTypeManager#parseContentTypesFile 中读取 [Content-Types].xml 时没有进行 XXE 防护。

    就是java读文件时候会以文件流的形式加载就会解析其中的内容,如果没对xxe进行防护就会造成xxe漏洞

    7. 修复方案

    升级 poi-ooxml.jar 到 3.11 或以上版本。

    原理是通过读取的时候使用新工具类的方法进行读取org.apache.poi.util.DocumentHelper#readDocument(java.io.InputStream) 进行 XXE 防护。

     

关键字词:CVE,CTF,XXE

返回顶部小火箭


常用网站

我的主页

浙ICP备20007936号 · @版权所有 lin 联系我