FTP 服务器关于权限的问题

很多电影网站,论坛或其它机构为了方便会员或成员上传电影或者交流文件,都允许用户的上传权限,因为只有允许这个权限,用户才可以上传文件,但这个权限在允许断点再传的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等文件,winzip或winrar肯定会说压缩文件已遭到破坏,crc检验码不对等等的错误。

  这个问题只是在允许断点再传的FTP服务中存在,但现在90%的FTP服务程序都是允许断点再传的,所以这问题在普遍的FTP服务器都会存在。

  防范方法:

  如果一定需要给用户上传权限的话,最好的防范方法是每个用户都给他建立一个目录,将那个用户的权限完全锁在这个目录内,那么用户就没有权限可以查看其它用户的目录,也就是说无法造成以上所说的破坏。

  以上所说的在Serv-U V4.0中测试过,测试平台是Win 2K Server。如果其它ftp服务程序不存在这种问题,那不在此文章讨论范围内。 现在windows系统中架设ftp服务器,用得最多最流行的还是Serv-U,所以管理员们要多留心了。这文章并不是要教人做坏事,如果你用这种方法去破坏ftp服务器的文件,唯一要负责任的人是你。引用一句古龙小说中的话:“刀本身并没有错,错的是拿它的手”。

(0)

相关推荐

  • FTP 服务器关于权限的问题

    很多电影网站,论坛或其它机构为了方便会员或成员上传电影或者交流文件,都允许用户的上传权限,因为只有允许这个权限,用户才可以上传文件,但这个权限在允许断点再传的ftp服务器中,可以导致很大的问题出来. 允许断点再传的ftp服务器程序,都必须支持一个"Rest"的命令,如果这个命令是用在上传命令前(send命令), 是告诉ftp服务器我要上传的文件会是从ftp服务器中存在的那个文件的什么位置中开始写. 例子: 假设ftp服务器中存在一个文件Readme.txt,文件大小为1000 byte

  • Serv-U和CuteFTP无法连接FTP服务器问题解答

    在FTP服务器使用普片流行的今天,一般进行文件的上传和下载都会用到FTP服务器,比如教学用的文件老师一般会放到FTP上学生可以自行下载,还有建站的时候编辑网站的资料都是放到FTP服务器上,方便提取等等,总之FTP应用是非常广泛的.但是功能在强大的软件也不能避免在使用过程中会出现问题,下面小编就总结Serv-u和CuteFTP两种FTP服务器软件在使用过程中出现的问题解决方案,比如:"550 Passive mode not allowed on this server"."建

  • win2003下FTP服务器搭建教程

    本文为大家分享了win2003下FTP服务器搭建教程,供大家参考,具体内容如下 搭建FTP服务器 首先打开windows2003的控制面板,管理工具--添加删除windows程序. 或运行  appwiz.cpl即可 进入添加删除windows程序界面,找到删除windows组件 在windows组件里面,找到[应用程序服务器] 应用程序服务器里面,点击详情.进入找到IIS信息管理器 依次点击[IIS信息管理器]详情,里面有个 FTP服务,打钩 然后返回,点击下一步,接着系统就开始安装ftp服务

  • CentOS 7下安装配置proftpd搭建ftp服务器的详细教程

    proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone.xinetd模式运行等.ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,ProFTP配置方便,并有MySQL和Quota模块可供选择,利用它们的完美结合可以实现非系统账号的管理和用户磁盘的限制.<摘抄百度百科> 本章通过下载源码的方式安装,可以到官网下

  • ftp服务器FileZilla Server详细配置教程

    FileZilla Server下载安装完成后,必须启动软件进行设置,由于此软件是英文,本来就是一款陌生的软件,再加上英文,配置难度可想而知,小编从网上找到一篇非常详细的教程进行整理了一番,确保读到这篇教程的同学都能够进行免费ftp服务器FileZilla Server配置. 运行FileZilla Server Interface.exe,得到以上界面,如果是第一次进入,直接点击ok即可.我们可以在「Administrator password:」栏位中输入本服务器Filezilla服务的密码

  • Filezilla server配置FTP服务器中的各种问题与解决方法

    公司很多资料需要通过ftp上传,那么就需要配置一个FTP服务器,找了一台Windows服务器捣鼓,开始按网上教程自己配置特别麻烦,何西西说用Filezilla比较方便,就去Filezilla官网下载了Filezilla Server,本来以为会很轻松搞定,没想到还是碰到一堆坑,记录下来方便以后查阅. 服务器:Windows Web Server 2008 R2,64位 坑1:安装Filezilla Server报错 "could not load TLS network. Aborting st

  • 详解ftp创建文件权限问题

    详解ftp创建文件权限问题 一.问题 有一个这样的需求,admin为一个Linux为其FTP应用创建的一个有权限限制的用户,通过admin用户可以进行登录FTP服务,登录FTP服务后,创建文件夹,该文件夹的用户和用户组都是admin,属性为755,即只有admin用户才有写的权限,但是,FTP后台是通过b用户登录linux系统执行程序上传文件到FTP服务器,由于FTP服务器的文件夹都是由admin用户创建的,且属性为755,b用户根本没有写的权限,导致程序上传文件失败. 二.分析 那么解决问题的

  • 搭建FTP服务器的简单实例

    FTP服务器的搭建非常简单 apt-get install vsftpd 开启.停止.重启vsftpd服务也很简单 service vsftpd start | stop | restart 账号 安装后会生产一个ftp组和ftp用户 修改用户密码 passwd ftp 配置 关键配置,修改vsftpd的配置文件vi /etc/vsftpd.conf #禁止匿名访问 anonymous_enable=NO #接受本地用户 local_enable=YES #可以上传 write_enable=Y

  • FTP服务器搭建之本地用户篇

    Vsftpd3.0--FTP服务器搭建之本地用户篇,具体内容如下 FTP服务在工作中是经用到的一种工具,可以实现上传下载等功能.那么今天我们来聊一聊FTP服务器使用本地用户登录的实现模式. 既然是本地用户,就少不了要创建本地用户,下面我们创建2个用户: 第一步:创建用户 第一次创建一个本地可登录的用户 这里2个用户的家目录的所有者都是有写权限的. 第二步:编辑vsftpd.conf配置文件 下面开始编辑/etc/vsftpd/vsftpd.conf 开启本地用户最简单的配置如下: 只需把家目录的

  • centos 搭建ftp服务器详解及简单介绍

    centos 搭建ftp服务器 1.安装vsftpd sudo yum install vsftpd 2.配置vsftpd.conf # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # When SELinux is enforcing check for SE bool ftp_home_dir local_enable=YES write_ena

随机推荐