两种突破内网中无法上传大文件的方法

0x00 前言

在内网中,有时偶尔会因为种种限制,导致无法上传大文件,以至于只能上传小文件。

在前段时间就碰到了这个问题,当时在拿下目标 shell 后发现只能上传几百 K 的小文件,文件稍微大些比如几 M 的文件就会提示上传失败,在此简单记录下当时解决的办法。

针对这种情况,就需要将大文件变成小文件后再进行上传,个人觉着可以简单的分为两种方式,一种是常规的压缩文件一种是分割文件,先来看看第一种方法。

0x01 压缩文件

这里以 7-Zip 为代表,其他的压缩软件还有 WinRAR 等,7-Zip 文件下载地址:https://www.7-zip.org/

如果目标主机没有安装 7-Zip,可以现在自己的主机上安装 7-Zip,然后把安装目录下的 7z.exe 拷贝到目标主机上,默认路径为「C:\Program Files\7-Zip\7z.exe」。

7z.exe 只有 400 多 K 的大小,可以说很是小巧了,以下为 7z.exe 的常用命令。

 a     添加压缩文件
 x     解压压缩文件
 -p    指定密码
 -v    分卷压缩
 -r    递归压缩
 -o    指定输出目录

普通的压缩/解压文件

把 fscan.exe 压缩成 fscan.7z,压缩密码为『teamssix.com』

把 fscan.7z 解压成 fscan.exe

fscan.7z 的大小是 2729 KB,fscan.exe 的大小是 2844 KB,可以看到其实大小差别也不大,没能达到我们将大文件变成小文件的目的,这种大小上传可能还是会失败,那再来试试分卷上传。

分卷压缩/解压文件

分卷压缩其实和下面介绍的分割文件有点类似,区别还是在于一个对文件进行了压缩,一个没有进行压缩。

把 fscan.exe 以 500 K 大小进行分卷压缩。

把 fscan.7z 解压成 fscan.exe

可以看到,使用分卷压缩可以把一个大文件分成多个小文件,然后将小文件上传上去后,再进行解压就可以了。

但这样做感觉还是有些麻烦,直接使用下文的 split 进行文件分割个人觉着是更为方便的方法,使用 split 进行分割也是我个人解决前段时间碰到不能上传大文件问题时的方法。

0x02 分割文件

使用 split 以 500 K 大小分割 fscan.exe 文件,split 命令在 Linux 和 MAC 下都是自带的,因此在自己的电脑上分割好后,直接上传即可。

合并分割文件为 fscan.exe

个人觉着直接用 split 分割文件是较为方便的做法,无需第三方软件,且不论目标是 Linux 还是 Windows 都能支持。

Last updated

Was this helpful?