当前位置:首页 > 日记 > 正文

FTP服务中允许上传权限存在的问题

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等文件,或winrar肯定会说压缩文件已遭到破坏,crc检验码不对等等的错误。

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

防范方法:

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

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

相关文章

PHP中类型转换 ,常量,系统常量,魔

PHP中类型转换 ,常量,系统常量,魔

常量,类型转换,系统,详解,魔术,PHP中类型转换 ,常量,系统常量,魔术常量的详解1.自动类型转换;在运算和判断时,会进行自动类型转换;1)其他类型转为bool,判断时转换; 1)整型转布尔型:0转false,非0转为true; 2) 空字符串和‘0'(“0”)转为false,其…

什么是TGA格式文件?TGA文件怎么打开

什么是TGA格式文件?TGA文件怎么打开

文件,格式文件,电脑软件,TGA,TGA格式图片文件(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为".tga",已被国际上的图形、图像工业所接受。TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒…

基于js 本地存储 | 详解

基于js 本地存储 | 详解

本地存储,详解,电脑软件,js,在客户端运行的JS是不能操作用户电脑磁盘中的文件的(保护客户端运行的安全)1、JS中的本地存储:使用JS向浏览器的某一个位置中存储一些内容,浏览器即使关闭了,存储的信息也不会销毁,当在重新打开浏览器的时候我们依然可…

PHP根据树的前序遍历和中序遍历构

PHP根据树的前序遍历和中序遍历构

前序遍历,中序遍历,后序遍历,输出,方法,本文实例讲述了PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法。分享给大家供大家参考,具体如下:先来看看前序遍历、中序遍历与后序遍历原理图:根据树的前序遍历和中序遍历构造树并输出后序…

linux修改php.ini后重新加载配置文

linux修改php.ini后重新加载配置文

配置文件,加载,修改,命令,电脑软件,本篇以centos系统为例。PHP的一般默认安装目录是:/usr/local/php/我们用php-fpm来进行重新加载配置文件(如php.ini):/usr/local/php/sbin/php-fpm reload注:/usr/local/php/sbin/php-fpm还有其他参数,包括:start…

ps怎么给证件照换底色?PS快速把证件

ps怎么给证件照换底色?PS快速把证件

教程,底色,证件照,快速,电脑软件,教你用photoshop给证件照换底色,PS给图片换底色是学习PS过程中相对简单的入门知识,换底色的方法很多,沫沫老师今天主要给大家介绍的是利用颜色替换方法快速地给美女证件照蓝底换红底,接下来详细介绍步骤,感兴趣…

如何使用Word2007在Word2007中使用

如何使用Word2007在Word2007中使用

方法,如何使用,电脑软件,VBAVBA,对办公室的巨大成功的重要原因是VBA,可以做很多事情,使用VBA,还有无数的VBA程序基于Excel和Word,VBA是如此的重要,这是如此的重要,那么下面的小编辑将教你如何在Word2007中使用VBA。 利用VBA在Word2007中的方法 …

Word文档怎样设置日期控件

Word文档怎样设置日期控件

文档,日期控件,设置,电脑软件,Word,自己制作好的word文档,如果需要别人填写出生日期,可以通过使用日期控件来保证别人输入的日期格式一样。1、如图,比如我们要在出生日期后面添加一个日期控件,就将光标定位在“出生日期:”后面。2、然…

怎么样在PPT中制作背景填充文字的

怎么样在PPT中制作背景填充文字的

文字,填充,背景,效果,电脑软件,  ppt中要设计一个文字,想要将图片直接填充到文字中,这样文字就有图案了。以下是小编为您带来的关于PPT制作背景填充文字的效果,希望对您有所帮助。PPT制作背景填充文字的效果1、首先,我们先插入一张图片,我这是…

AI结合AE制作有趣可爱的搜索gif动

AI结合AE制作有趣可爱的搜索gif动

动画教程,搜索,有趣,可爱,电脑软件,效果图:主要过程:12 3 阅读全文1 23 阅读全文教程结束,以上就是AI结合AE制作有趣可爱的搜索gif动画教程的全部内容,希望大家喜欢!相关教程推荐: 30分钟 AI结合AE打造可爱毛毛虫爬行的gif动画效果GIF图片让你…

WPS表格怎么找出重复项WPS表格找出

WPS表格怎么找出重复项WPS表格找出

方法,步骤,数字,查找,表格,  我们在wps表格中的单列录入大量数据时,可能会因为疏忽而录入了重复的数据这时要在大量的数据中查找就会很费时间,下面小编教你简单找出重复项的方法。希望对你有帮助!▼▼▼更多WPS表格的操作技巧,欢迎点击▼▼▼…

微信小程序之选项卡的实现方法

微信小程序之选项卡的实现方法

方法,选项卡,程序,电脑软件,微信小, 微信小程序之选项卡的实现方法前言:从事前端的同学们一定不会对选项卡陌生,不管是自己原生写的,还是各个UI框架里带的,我想大家都使用过很多选项卡,对选项卡的原理也足够清楚了,下面我们来在微信小程序里实现…