FTP机制重大漏洞:虚拟主机开设10M空间让你用10G

2019-03-13 23:53:48来源: Chinaz用户投稿 阅读 ()

新老客户大回馈,云服务器低至5折

大家看到这个题目可能不相信,其实这个漏洞在很多年前我就发现了,一直没有将其写下来,并且根据我的分析(后面我会讲其漏洞原理),这个漏洞很难补上,我觉得应该是FTP机制问题,而不是某个FTP服务器软件问题。一直以来我都在关注这个漏洞的修补情况,但是一直没有得到修补,这次我将其公开,希望FTP服务器软件厂商能够想到更好的解决办法。

首先请查看实例:

测试服务器使用的FTP服务器软件是Serv-u 9.0.0.3(在此用Serv-u做例子,不代表就Serv-u有问题,其他的FTP软件经测试均存在同样问题),Serv-u 9.0.0.3虽然不是最新版本,但是也算比较新的版本了,服务器上给test这个账号开设了10M空间,如下图:

FTP连接图一

服务器使用的是Serv-u V9.0版本

当前开通的空间是10M

我们看到了当前的FTP目录里没有内容,大小是10M,现在我们先传一个测试文件,测试文件大小是6.26M,如图:

测试文件上传成功

接下来我们再传一个测试文件,大小也是6.26M,如图:

测试文件2上传不成功,提示空间满了

大家看到了,只能传3.78M,空间已经满了,下面大家看看我怎么将两个文件都顺利的传上去(10M空间怎么传12M多的文件),激动人心的时刻来了。

首先:删除那个3.78M的文件,使得有一定的空间剩余。然后我们上传一个可以通过WEB生成文件的程序,我这里是xue163_com.asp,这个文件的作用就是通过FSO生成文件,生成什么文件,无所谓,生成的文件大点就行,可以多生成一些,如图:

当前空间够我上传生成文件程序了

上传生成文件程序

页面生成成功

看到了吗,其实漏洞就已经暴露了,我的空间总大小才10M,大家可以算算现在FTP内文件总大小是多少,如图:

天啊,20多M的文件,我空间配额只有10M啊

不过,如果你通过FTP软件进行连接后,再传新文件的时候,会提示空间已用完,如图:

提示空间已满

这里还有一种方法,会提示空间还剩余生成文件之前一样多的空间,等会我再说(我这里定义为方法二,后面说)。现在提示空间已经用完了,我之前不是说要将另外一个测试文件也传上去的吗,那现在怎么办,别急,慢慢来,很快了!

接下来,删除刚刚生成的文件,如图:

删除WEB方式生成的文件

然后,我们上传测试文件2,如图,奇迹在这一刻诞生了,上传成功,之前上传可是没有成功的啊!!!圆满完成任务,不过现在再传新东西就提示空间已满了!下面我再说方法二,更绝!

上传成功,不通过生成文件方式也将12M多的文件上传了,而我空间配额只有10M啊

方法二、

首先,我们在空间里建两个文件夹(xue163_com1和xue163_com2),然后我们先传测试文件1到文件夹xue163_com1中,按照正常FTP上传,我们再传测试文件二到xue163_com2中,下面删除测试文件二(test2.exe),这里删除后总的空间还剩余3.78M,下面看我怎么让剩余空间又变成10M的。

按照之前所述,我们通过生成文件程序生成一些文件,这里和前面的不同点是将生成的文件放在文件夹xue163_com2中,如图:

新建两文件夹

测试文件已上传到其中一个文件夹

然后我们传另外一个,正常情况是提示空间满了,穿了3.78,加上之前的6.26,刚刚10M

按照之前的方法,我们通过WEB方式生成文件

文件生成成功,远远大于10M

已经生成完毕了,远远大于10M。这个和方法一有什么不同呢?慢慢来,现在我们将刚刚生成的20多M的文件删除,删除后空间剩余多少?答案是10M,我们再继续测试,上传测试文件二到xue163_com2,上传成功,达到方法一的效果,如图:

文件上传成功

我们一起来看惊喜吧,方法一最后是达到了相应的效果,但是显示的却是空间已满了,我们刚刚也上传了两个6.26M的测试文件了,是否也显示空间已满呢,我们继续上传试验下,结果是我们还可以上传。(注意,因为测试的时候只有几个文件,并且只有两个文件夹,所以可能会出现方法一的结果提示空间已满,方法二只是说明文件夹对于FTP服务器软件的特殊性,但是如果你正常的一个网站,有数个数十个文件夹以及数十个文件,还是能达到我说的方法二的效果的,原因为什么,请看下面我分析的FTP原理)

直到10M全部用完

方法讲完了,大家可能会说我吹牛,怎么10M的空间用10G啊,其实只要明白以上方法的朋友都可以无数次的按照上面的方法进行操作,这里我说的10G,等同于服务器当前盘的剩余空间,如果他剩余100G,你就可以用100G。(方法一和方法二原理都是一样的)

漏洞原理分析:

1、 FTP服务器软件系统和操作系统是两个不同的系统,FTP服务器软件的配额只是相对于FTP服务器软件自己统计来说的(大体上可以这么说)。

2、 FTP服务器软件计算空间使用的方法只是按照用户通过FTP连接到空间进行删除、增加文件来计算,而对于服务器端通过WEB方式生成的文件是不计算在内的,除非重新刷新FTP连接,让FTP服务器软件重新统计。

3、 前面说了FTP服务器软件计算空间使用的方法通过FTP连接空间删除、增加文件来计算,因为通过WEB生成了新的文件,FTP软件没有计算这部分文件大小,而重新连接FTP后则重新计算了大小,如我方法一,本来有6.26M文件,而我生成了21M的文件没有计算,在FTP服务器软件来看就是6.26M空间已使用,重新FTP连接后则重新计算,FTP服务器软件统计到了27.26M,而我空间大小是10M啊,所以不让上传新的文件,而现在我删除了21M生成的文件,FTP服务器软件却按照10M-21M(10M减去21M)来统计,所以我又能上传新文件,上传后FTP服务器软件又重新统计,发现6.26+6.26已经超过了10M大小,所以不让上传了。这个是方法一的原理。大家可能觉得这个漏洞只是FTP服务器软件计算有误,那么请看我第4点分析。(如转载请注明来自:www.xue163.com)

4、 为什么我在文章开头就说这个漏洞是没有办法弥补的呢,其实在方法二中也有阐述。FTP服务器软件每次连接都需要统计当前空间的使用,而如果我空间现在有很多文件(这些文件不管是上传的还是自动生成的),别说你FTP服务器软件统计了,就算进入服务器通过属性来查看大小或者打开对应文件夹都得需要一会,而如果FTP服务器软件每次连接都去计算空间大小,不但FTP连接速度慢(很可能连接失败),并且还极耗服务器资源,这样做是得不偿失的,也是不能容忍的,所以也就是说FTP服务器软件不可能每次去统计当前空间的使用资源(注意,在你文件少的情况下是每次统计的,我这里说的文件多少,是个数的多少,比如你一个文件夹放了10万个文件,实际上可能这些文件加起来只有1M)。我们知道了这个原理后,然后根据FTP服务器软件计算空间的方法,就可以通过WEB方式生成文件的形式来使用服务器空间了。

5、 在FTP服务器软件实际的使用过程中,服务器管理人员可以让FTP服务器软件在服务器端统计用户空间的大小,而实际上没有多大用处,直接使用以上方法重新自己创造空间来使用。

应用:

1、大家知道以上原理后,就可以无限量的使用空间了。

2、如果是动态程序、图片什么的一次性上传很多文件就将FTP空间占满的,你可以压缩成几个压缩文件,传上去后,通过在线解压缩(等同于在线生成文件),文件上去了,然后删除对应压缩文件,空间又空出来了。当然,图片也好,动态程序也好,都可以先上传,通过WEB方式生成对应的文件,然后再删除获得更多的空间。

3、对于那些资讯站、小说站等需要生成大批量文件的可以直接使用了,还不占用“FTP的空间”。

其实应用方法很多,我只能说那些做虚拟主机的公司需要想办法怎么解决这个问题了,其实我觉得可以使用操作系统磁盘配额的形式来弥补FTP服务器软件的不足。没有测试过,不知道是否可行?

以上所说是FTP服务器软件没有办法的事情,所以我的题目是FTP机制重大漏洞,因为经过我测试,基本所有第三方FTP服务器软件都有这样的问题,而不只是SERV-U。也敬请FTP服务器软件商能够想出更好的办法来解决这个问题,不过我觉得要综合考虑的话,很难解决,至少很难解决通过生成文件的方式来获得足够的空间,特别是大批量文件的情况下。

欢迎转载,本文为我原创,如有何想法请联系QQ:20127430 我们一起讨论

感谢中国学网投递

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:大漠:外贸网站是否使用国外空间?

下一篇:对新站长选择空间的八个珍贵建议