如何上传恶意数据文件到目标服务器
完成不出网利用,上传恶意数据文件(以下简称文件)是关键,可以从以下几个方面实现
业务功能上传
从业务功能进行上传是一个最简单的方式,例如在业务功能中实现了图片上传的功能,上传之后能将具体位置显示给我们:
这种情况下,我们只需要将文件正常上传到服务器上,然后namedPipePath指定为该文件就可以完成利用,这种方法相对简单我们就不过多分析。
临时文件 + heapdump泄漏
如果业务没有上传文件的点,我们如何进行利用呢?首先我们需要先介绍一下spring web下面的文件上传缓存机制。
spring web(或者tomcat)默认使用commons-fileupload来处理文件上传的数据包,而在上传的数据超过一定阈值时会将上传的数据从内存中缓存到临时文件,在commons-fileupload的 Builder 类的构造方法中定义了一个缓冲区大小DiskFileItemFactory.DEFAULT_THRESHOLD(10240b)
完成不出网利用,上传恶意数据文件(以下简称文件)是关键,可以从以下几个方面实现
业务功能上传
从业务功能进行上传是一个最简单的方式,例如在业务功能中实现了图片上传的功能,上传之后能将具体位置显示给我们:
这种情况下,我们只需要将文件正常上传到服务器上,然后namedPipePath指定为该文件就可以完成利用,这种方法相对简单我们就不过多分析。
临时文件 + heapdump泄漏
如果业务没有上传文件的点,我们如何进行利用呢?首先我们需要先介绍一下spring web下面的文件上传缓存机制。
spring web(或者tomcat)默认使用commons-fileupload来处理文件上传的数据包,而在上传的数据超过一定阈值时会将上传的数据从内存中缓存到临时文件,在commons-fileupload的 Builder 类的构造方法中定义了一个缓冲区大小DiskFileItemFactory.DEFAULT_THRESHOLD(10240b)
👍1