No.1
声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
No.2
概述
apachepoi这个组件实际上在java应用中蛮常见的,这个组件主要用在word文档或者excel文件导入的业务场景下使用。众所周知,这些文档实际上也是一个类似压缩包一类的存在,所以今天就看看这个东西。
No.3
漏洞分析
CVE--
apachepoi在3.10.1之前存在XXE漏洞
漏洞场景搭建
测试代码
importorg.apache.poi.EncryptedDocumentException;importorg.apache.poi.openxml4j.exceptions.InvalidFormatException;importorg.apache.poi.ss.usermodel.Sheet;importorg.apache.poi.ss.usermodel.Workbook;importorg.apache.poi.ss.usermodel.WorkbookFactory;importjava.io.FileInputStream;importjava.io.IOException;publicclassCVE{publicstaticvoidmain(String[]args)throwsIOException,EncryptedDocumentException,InvalidFormatException{Workbookwb1=WorkbookFactory.create(newFileInputStream("test.xlsx"));Sheetsheet=wb1.getSheetAt(0);System.out.println(sheet.getLastRowNum());}}
//pom.xml?xmlversion="1.0"encoding="UTF-8"?projectxmlns="