FTP服务中允许上传权限存在的问题
作者:佚名 来源:stuun.com 发布时间:2009-02-09 16:43:00
很多电影网站,论坛或其它机构为了方便会员或成员上传电影或者交流文件,都允许用户的上传权限,因为只有允许这个权限,用户才可以上传文件,但这个权限在允许断点再传的ftp服务器中,可以导致很大的问题出来。
允许断点再传的ftp服务器程序,都必须支持一个“Rest”的命令,如果这个命令是用在上传命令前(send命令), 是告诉ftp服务器我要上传的文件会是从ftp服务器中存在的那个文件的什么位置中开始写。
例子:
假设ftp服务器中存在一个文件Readme.txt,文件大小为1000 bytes,连接上这个ftp服务器(假设我有写权限,ftp服务器是支持断点再传的),我本地中也有一个叫Readme.txt的文件,文件大小为500 bytes。好了,我开始做坏事。
1、连接上这个ftp服务器(用系统自带的 ftp://ftp.exe/,在内网的可能无法使用,因为 ftp://ftp.exe/用的是port模式)
2、dir(查看Readme.txt大小,确定了是1000 bytes)
3、quote rest 1000(告诉ftp服务器我将要传送的文件是从文件位置1000开始)
4、send Readme.txt
5、dir(再次查看Readme.txt大小,现在Readme。txt变成1500 bytes了)
为什么Readme.txt会变大了?很简单,因为我本地的那个Readme.txt的500字节上传成功,并写入到ftp服务器中存在的那个1000 bytes的Readme.txt文件中了。问题是出在第二条命令,如果没有第二条命令,我的第4个命令(Send Readme.txt),就会得到一个Permission Deny的错误,第二条命令是让ftp服务器信任我们将要进行一个断点再传的操作,如果没有第二条命令,ftp服务器将以为我们进行的是一个复盖原文件的操作(复盖原文件操作需要另外的权限才可以进行)。
说到这里,大家应该明白了主题的意思了吧,通过很简单的操作,任何具有写权限的用户,都可以改动其它用户上传的文件,单是这一点,就存在很大的安全漏洞了。如果上传的是重要文件,随意的修改可以令文件完全破坏了;如果是可执行文件或一些zip或rar文件,会不会有些熟悉各种文件结构的天才疯子,将一些恶意代码也加到那些文件,令执行者系统受到破坏或者执行了他们的后门代码或其它,由于本身对于这些文件结构并不熟悉,我只说这是一个未知之数,但在电脑的世界中,很多不可能的事最后都被创造成可能,所以我无法下定论。但单是能破坏到文件这一点,已是很具破坏性了,想想一个500M的影视文件,被人多加了字节进去的话,估计是无法再被观看的了,播放这些文件的程序一般都会说不是合法的影视文件,无法播放等等。至于zip,rar等文件,或winrar肯定会说压缩文件已遭到破坏,crc检验码不对等等的错误。
这个问题只是在允许断点再传的FTP服务中存在,但现在90%的FTP服务程序都是允许断点再传的,所以这问题在普遍的FTP服务器都会存在。
防范方法:
如果一定需要给用户上传权限的话,最好的防范方法是每个用户都给他建立一个目录,将那个用户的权限完全锁在这个目录内,那么用户就没有权限可以查看其它用户的目录,也就是说无法造成以上所说的破坏。
以上所说的在Serv-U V4.0中测试过,测试平台是Win 2K Server。如果其它ftp服务程序不存在这种问题,那不在此文章讨论范围内。 现在windows系统中架设ftp服务,用得最多最流行的还是Serv-U,所以管理员们要多留心了。这文章并不是要教人做坏事,如果你用这种方法去破坏ftp服务器的文件,唯一要负责任的人是你。引用一句古龙小说中的话:“刀本身并没有错,错的是拿它的手”。


猜你喜欢
- 记事本打开httpd.conf文件 ,该文件在apache的目录下,如: D:\AppServ\Apache2.2\conf,修改如下两处:
- 现在,很多人都拥有自己的电脑,并且通过固定的IP连接到互联网。于是,他们开始在自己的电脑上架设服务器。在自己的电脑上架设服务器,无论你使用L
- “您希望通过广告获得更多收入,但又不想向用户展示没有针对性的广告。 Google AdSense? 解决了这一问题,它可以自动投放根据网站和
- 前言上周电脑重装,换了ubuntu 16.04,想起来之前上课老师也是ubuntu而且他还提到他桌面是他自己写的个小脚本实现的自动更换桌面壁
- 很多站长经常会向我们询问:“主题推广如何为站点匹配出相关度高的推广信息?”基于这个问题,我们将为大家
- 在安装、管理和使用mysql过程中,你是不是需要记忆很多的mysql命令。而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命
- 有的服务器可以用sql溢出,可惜就是找不到进一步的入侵方法,因而一直也没有拿下来。今天在校盟看到一篇文章,说是在cmd下也可以中入sql账号
- 因为想让虚拟机拥有自己的局域网IP, 所以用了桥接, 这样方便测试.问题来了:1.ssh突然连接不上了,虚拟机上的项目也无法访问了.2.虚拟
- 虚拟机是非常方便的测试软件,我们可以用来做各种测试,不会对硬件造成伤害,为了能够更加方便的演示环境,便于做各种例子;而又能保证主机的快速运行
- 很多人说SEO就是作弊,也有很多把SEO当做一个无所不能的工具来看,其实SEO的工作到底如何定性,确实很难说,但网站SEO的最大的作用还是整
- Outlook Web Access(OWA)让拥有Exchange帐户的用户能够从任何一台有网络浏览器的电脑上管理他们的电子邮件,但不是所
- Google中文网站管理员博客在《由抄袭造成的重复内容》文章中提到:“鉴别内容的原创来源是Google所擅长的,在大多数情况下原创内容源都能
- 本以为很火星,后来没有发现其他网站谈论此事,所以决定发此新闻:带来的好处我非常喜欢,再也不用搜索时候强迫用鼠标了!说明:J:下K:上O 或
- 很多互联网的从业人员都在为自己的网站没有ip,没有销售额而苦恼,有些朋友很急躁,根本找不到真正推广的思路,只是像没头苍蝇一样乱撞,来到一个论
- 创建镜像的方法有三种:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建,本博文讲解前两种。基于已有镜像的容器创建该方法
- 本篇文章介绍了在Linux下用 mkdir 命令来创建目录和子目录的用法,现在我们要学习在 Linux 系统下创建目录。在 Linux 下,
- 安装好centos之后,接着来设置它的网络,因为我在家笔记本是用的无线,所以虚拟机也只能连无线了,百度了很多教程,因为刚刚学linux,所以
- 在网上看了一大堆资料,昨天终于在阿唐哥的帮助下配成了Linux(RH9)下的subversion。总结各路经验将安装配置过程写在下面:一、所
- 北京时间10月2日消息,据国外媒体报道,微软周四表示,已完成可适用于Windows 7操作系统环境下的“XP虚拟模式&a
- 本文描述了如何在Windows XP中通过配置TCP/IP协议的方式使用域名服务(DNS)。DNS是一种用以将域名转换为IP地址的Inter