当前位置:首页 » 文件传输 » 远程主机关闭ftp
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

远程主机关闭ftp

发布时间: 2023-02-21 06:55:06

1. 什么是FTP服务器怎么使用它

FTP(File Transfer Protocol)是文件传输协议的简称。 x0dx0aFTP的作用 x0dx0a正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。 x0dx0aFTP工作原理 x0dx0a拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。 x0dx0a简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议) x0dx0a一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。 x0dx0a与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。 x0dx0a在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上载"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上载"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。 x0dx0a使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。 x0dx0a匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。 x0dx0a通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。 x0dx0a值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。 x0dx0a当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。 x0dx0a作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。 x0dx0a匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。 x0dx0a匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。 x0dx0aInternet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。Archie将自动在FTP主机中进行搜索,构造一个包含全部文件目录信息的数据库,使你可以直接找到所需文件的位置信息。 x0dx0ax0dx0aFTP是一种上传和下载用的软件。 x0dx0a定义如下:FTP(File Transfer Protocal),是用于Internet上的控制文件的双向传输的协议。同时,它也是一个应用程序。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。 x0dx0ax0dx0a传输文件的一般步骤如下: x0dx0a1在本地电脑上登陆到国际互联网, x0dx0a2搜索有文件共享主机或者个人电脑(一般有专门的FTP服务器网站上公布的,上面有进入该主机或个人电脑的名称,口令和路径) x0dx0a3当与远程主机或者对方的个人电脑建立连接后,用对方提供的用户名和口令登陆到该主机或对方的个人电脑. x0dx0a4在远程主机或对方的个人电脑登陆成功后,就可以上传你想跟别人分享的东东或者下载别人授权共享的东东(这里的东东是指能放到电脑里去又能在显示屏上看到的东东) x0dx0a5完成工作后关闭FTP下载软件,切断连接. x0dx0a为了实现文件传输,用户还要运行专门的文件传输程序,比如网际快车就有这方面的功能,其它还有很多专门的FTP传输软件,各有各的特色. x0dx0ax0dx0aFTP协议:文件传输协议 x0dx0aFTP服务器:可以下载和上传文件的服务器。但是你必须拥有一定的权限才可以上传或者下载,这种服务器一般用于公司内部使用

2. 出现ftp远程主机关闭连接怎么解决

在远程主机上开启ftp服务。

3. FTP传输时“远程主机强迫关闭一个现有链接”咋回事

ftp服务器可以接受的连接数是有限制的,你应该限制你的连接数,而且在使用完后要及时释放。在你的代码中一直连接,我觉得不是个好方法。

4. 修改FTP密码发生连接远程主机关闭怎回事

FTP的密码更改操作,就改变了当前连接的安全性,所以需要重新连接,与操作结果无关,所以会被远程主机端开连接,而上传的文件都正常;使用多个域名需要刷公网的DNS,费钱而且还慢,建议你更改网页文件的文件名的方式,只有你自己知道,而别人却访问不了,你可以试一下

5. ftp远程主机关闭连接

远程的主机已经关机了,你通过FTP已经连接不上服务器了,不可能再下载软件或者上传东西了。

6. 本地是Windows系统,远程主机是Linux系统,远程主机关闭了ftp下载功能,怎么可以拿到远程

你可以反过来处理。
把本地windows上安装一个ftp server,把远程的linux当ftp的客户端(Linux主机只是关闭了Ftp server,但作为ftp客户端还是可以的),
telnet 到linux主机上,向windows上的ftp server put文件就可以了。

7. 在DOS里面,使用ftp命令连接linux虚拟机ftpfu服务器,出现远程主机关闭,怎么回事

密码和用户名可对?检查linux虚拟机的/var/log/pureftpd.log。

8. iis曾经出现过的漏洞不包括哪些

不包括反序列化漏洞。
Internet Information Services(IIS,以前称为 Internet Information Server)互联网信息服务是 Microsoft 公司提供的可扩展 Web 服务器,支持 HTTP,HTTP/2,HTTPS,FTP,FTPS,SMTP 和 NNTP 等。起初用于 Windows NT 系列,随后内置在 Windows 2000、Windows XP Professional、Windows Server 2003 和后续版本一起发行。IIS 目前只适用于 Windows 系统,不适用于其他操作系统。

根据 Netcraft 在 2018 年 9 月的最新全球 Web 服务器报告显示,Microsoft IIS 依旧以 9.57% 的比例占据全球第三大最繁忙服务器,落后于 Apache 34.07%和 Nginx 25.45%。目前流行的 Windows 版本都默认安装 IIS 服务 , 但同时 IIS 的安全性一直被业内诟病,一旦 IIS 出现高危漏洞,将会出现范围广、影响深的特点。

目前 IIS 一共发行 12 个版本,从 IIS 1.0 版本至 IIS 10.0 版本,IIS 1.0-4.0 已经基本退出市场,IIS 5.0-10.0 是 Web 市场主要使用的网站服务器。随着 Windows 版本发布和不断更新,IIS 自身的安全性也有了较大的提升。在 2005-2018 年期间,IIS 漏洞呈现逐年减少的趋势,同时也说明了 IIS 漏洞 POC 公布越来越少、漏洞挖掘的难度也在提升。

从上述 IIS 漏洞统计表格可以看出,IIS 7.5、IIS 8.5 和 IIS 10.0 是目前全球使用最多的三款 IIS 版本,分别对应受影响漏洞 12 个、4 个和 2 个,呈现受影响漏洞数量递减的趋势。同时,在历年的 IIS 版本漏洞中,IIS 6.0、IIS 5.1、IIS 7.5 和 IIS 7.0 受影响的漏洞数居前四位。

二、IIS 漏洞分析

千里目实验室针对 IIS 近十几年(2005 年以后)的 35 个漏洞进行和整理和分析,IIS 漏洞主要分布在缓冲区溢出、认证绕过、DOS 拒绝服务、代码执行和信息泄露,其中以 MS15-034 远程代码执行漏洞最为严重。

由上表可以看到,IIS 历年漏洞主要以远程漏洞为主,占漏洞总数 85.71%,本地漏洞有 5 个,占漏洞总数 14.29%。其中 5 个本地漏洞分别是: ( MS12-073 ) Microsoft IIS 密码信息泄露漏洞 CVE-2012-2531、 Microsoft IIS 源代码泄露漏洞 CVE-2005-2678、 ( MS17-016 ) Microsoft Internet 信息服务器跨站脚本漏洞 CVE-2017-0055、 ( MS16-016 ) IIS WEBDAV 特权提升漏洞 CVE-2016-0051、 ( MS08-005 ) Microsoft IIS 文件更改通知本地权限提升漏洞 CVE-2008-0074。

以下主要针对 IIS 漏洞中可以远程利用的重点漏洞做分析和复现:

1. 缓冲区溢出漏洞

1.1 ( MS09-053 ) Microsoft IIS FTPd 服务 NLST 命令栈缓冲区 CVE-2009-3023

1.1.1 漏洞描述

Microsoft IIS 内嵌的 FTP 服务器中存在基于栈的缓冲区溢出漏洞。如果远程攻击者对带有特制名称的目录发布了包含有通配符的 FTP NLST ( NAME LIST ) 命令的话,就可以触发这个溢出,导致执行任意代码。仅在攻击者拥有写访问权限的情况下才可以创建带有特殊名称的目录。

1.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.0、IIS 5.1、IIS 6.0

· 漏洞分析:

IIS 包括用于通过 TCP 计算机网络交换和操作文件的 FTP 服务器服务。它默认侦听端口 21 以获取来自 FTP 客户端的传入连接。IIS 支持的 FTP 命令之一是名称列表(NLST)命令。此命令用于将目录列表从服务器传输到客户端。该命令的语法如下:

NLST

此命令中的路径名应指定目录或其他特定于系统的文件组描述符;在 pathname 为 NULL 时,使用当前目录。NLST 命令可以使用诸如“ * ”之类的通配符来引用多个路径。

Microsoft Internet 信息服务(IIS)中存在缓冲区溢出漏洞。该漏洞是由于处理 NLST FTP 命令时边界检查不足造成的。当 FTP 用户请求包含通配符的路径名过长的目录列表时,易受攻击的代码会将目录路径名复制到 0x9F(159)字节的基于堆栈的缓冲区中,而不进行边界验证。提供包含大于 0x9F(159)字节的路径名会使堆栈缓冲区溢出,从而可能会覆盖关键进程数据(如函数返回地址)。

远程身份验证的攻击者可以通过连接到易受攻击的 IIS FTP 服务器并向目标服务器发送恶意 NLST 命令来利用此漏洞。成功利用将导致使用 System 权限执行代码。如果代码执行攻击不成功,可能会导致受影响的 FTP 会话异常终止。

注意:为了成功利用此漏洞,NLST 命令中指定的长路径名必须存在于目标系统上。因此,利用此漏洞的攻击可能伴随着 MKD 命令的使用。

· 漏洞类型:可远程利用,存在缓冲区溢出漏洞,可触发代码执行

· 漏洞复现:

复现环境:Win XP SP3 x64 专业版,默认 IIS 5.1

1. 搭建好 IIS FTP 靶机环境,测试 anonymous 默认匿名用户可用,且可创建和读写目录;

2. 测试正常 MKD 创建和 NLST 正常长度的目录的功能是否正常:

以上 somefolder 为 FTP 服务器上正常长度文件夹,NLST 命令执行成功并返回结果提示 226。

3. 测试创建和 NLST 异常目录长度,服务器返回 150,打开数据连接,成功执行命令。

· 漏洞缓解:

1. 此漏洞仅在 IIS 5.x 和 6.0 版本存在,升级 IIS 版本或者更新 MS09-053 补丁即可规避此漏洞;

2. 此漏洞成功利用的条件主要包括:IIS 启用 FTP 服务且存在 FTP 默认站点、攻击者登陆 FTP 的账户有创建和读写文件夹的权限。

2.DOS 拒绝服务漏洞

2.1 ( MS07-041 ) Microsoft IIS 5.1 远程缓冲区溢出漏洞 CVE-2005-4360

2.1.1 漏洞描述

Microsoft IIS 处理某些畸形的 HTTP 请求时存在漏洞,远程攻击者可能利用此漏洞对服务器进行拒绝服务攻击。远程攻击者可以使用 WEB 浏览器之类的工具发送特制的匿名 HTTP 请求导致 IIS 服务进程 inetinfo.exe 崩溃。仅在文件夹的 " 执行权限 " 设置为 " 脚本和可执行程序 " 时才会出现这个漏洞。有漏洞的虚拟文件夹包括 "/_vti_bin" 等。此外如果提交恶意请求还可能会触发缓冲区溢出,导致在用户系统上执行任意代码。

2.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.1

IIS 包括一个能够提供静态和动态内容的 Web 服务器组件。IIS 的 Web 组件提供 Web 应用程序功能。通过 Web 应用程序,服务器可以在后端执行脚本,并将生成的内容提供给请求客户端。客户端可以请求许多可执行资源,例如 Perl 脚本、Active Server Pages(ASP)或动态链接的库资源。用于提供动态动态内容的虚拟目录需要配置后台执行脚本的权限。

Microsoft Internet Information Services 产品的 HTTP 服务器组件中存在可远程利用的拒绝服务漏洞。在特殊情况下,当多次请求动态链接的库资源时,受影响的服务可能会因此而关闭。由于服务器无法处理格式错误的 URL 请求,因此创建了该漏洞。恶意请求必须满足几个条件才能触发此漏洞。请求 URL 必须包含来自以下字符的有限集合中的字符(注意,不可见字符需要使用以下字符范围的 URL 编码形式):

%3f



字符 %01 – %1f 的范围

请求还必须包含波形符“ ~ ”字符,后面跟一个十进制数字。

· 漏洞类型:可远程利用,可触发 DOS 攻击

1. 配置 IIS 默认 wwwroot 根目录下的虚拟目录 _vti_bin 执行权限为“脚本和可执行文件”权限;

2. 浏览器发送恶意 url 远程访问靶机环境,复现成功,服务器返回 500 错误:

Eg:http://192.168.180.200/_vti_bin/.dll/%1f~0

1. 此漏洞仅在 IIS 5.1 版本存在,升级 IIS 版本或者更新 MS07-041 补丁即可规避此漏洞;

2. 此漏洞成功利用的条件主要包括:要求在服务器端将请求的虚拟目录配置为“脚本和可执行文件”权限,不开启此权限的服务器不存在漏洞。

2.2 ( MS09-053 ) Microsoft IIS FTP 服务器递归列表拒绝服务漏洞 CVE-2009-2521

2.2.1 漏洞描述

IIS 5.0 至 7.0 版本的 FTP 服务在处理递归目录列表请求时存在栈消耗漏洞。拥有对目录写访问权限的远程攻击者可以通过提交包含有通配符 ( 如星形标识符 ) 的请求导致拒绝服务(守护进程崩溃)。

2.2.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.0、IIS 5.1、IIS 6.0、IIS 7.0

通过包含通配符的 list(ls)-R 命令在 Microsoft IIS FTP 服务器 5.0 到 7.0 中触发拒绝服务条件,即 ls "-R p*/../" 命令可导致 FTP 服务器拒绝服务。 此漏洞利用有三个条件:

(1)一个有效的 ftp 帐户,拥有只读或写入权限;

(2)“ FTP 发布”服务必须在启动类型中配置为“手动”模式;

(3)FTP 根目录下至少有一个目录。

1. 添加 FTP 服务器角色,IIS 信息服务管理控制台“ FTP 站点下”启动 FTP 默认站点

2. 配置 ftp 默认用户 anonymous/anonymous,拥有读写目录权限;

3. 目录下创建一个文件夹 BB,然后输入 ls "-R p*/../",成功复现 DOS 拒绝服务,ftp 连接关闭:

中间很多重复:

p*/../BB: BB

FTP 服务器提示“远程主机关闭连接”,FTP 拒绝服务,漏洞复现成功。

1. 此漏洞仅在 IIS 5.0-7.0 版本存在,升级 IIS 版本或者更新 MS09-053 补丁即可规避此漏洞;

3. 认证绕过漏洞

3.1IIS 认证绕过和源码泄露漏洞复现

3.1.1 漏洞描述

Microsoft IIS ( Internet Information Server ) 是 Microsoft Windows 系统默认自带的 Web 服务器软件,其中默认包含 FTP 服务。Microsoft IIS 中存在认证绕过漏洞和源码泄露漏洞,该漏洞源于对用户提供的输入未经正确的验证。攻击者可利用这些漏洞在服务器进程上下文中获取密码保护资源和查看源代码文件的未授权访问,且有助于进一步攻击。

3.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 6.0、IIS 7.5

Microsoft IIS 由于无法正确清理用户提供的输入,容易出现身份验证绕过漏洞和源代码泄露漏洞。主要包括以下三类绕过:

(1)安装了 PHP 的 Microsoft IIS 6.0 身份验证绕过:

IIS / 6.0 加载受保护(如 :admin)目录中的 PHP 文件需要用户认证信息(用户名和密码访问),如果将“ :: $ INDEX_ALLOCATION ”后缀附加到目录名称后面,存在绕过认证并可能访问管理文件等特殊情况,导致 IIS 服务器重要信息泄露;

Eg:/admin::$INDEX_ALLOCATION/index.php

(2)Microsoft IIS 7.5 经典 ASP 身份验证绕过:

配置了经典 ASP 和 .NET Framework 4.0 的 Microsoft IIS 7.5,通过将“:$ i30:$ INDEX_ALLOCATION ”后缀附加到需要认证的请求目录名称后面,可以绕过经典的 ASP 文件访问限制;

Eg: 举例:/admin:$i30:$INDEX_ALLOCATION/index.asp

(3)Microsoft IIS 7.5 .NET 源代码公开和身份验证绕过:

在配置中安装了 PHP 的 Microsoft IIS / 7.5,存在认证绕过漏洞;

Eg:http:///admin:$i30:$INDEX_ALLOCATION/admin.php

除此之外,通过将 /.php 附加到 ASPX 文件(或使用未通过请求过滤规则阻止的 .NET 框架的任何其他文件,如错误配置:.CS,.VB 等文件)。IIS 7.5 使用文件的完整源代码进行响应,并将其作为 PHP 代码执行。这意味着通过使用上传功能,可以(在特殊情况下)执行任意 PHP 代码。

Eg: http:///Default.aspx/.php(php 任意代码执行)

· 漏洞类型:可远程利用,可触发认证绕过和信息泄露

复现环境:Windows 7 x64 位,默认 IIS 7.5

以下验证复现上述(3)的漏洞,(1)和(2)类似此处不做验证:

1.IIS 网站根目录下创建 admin 用户目录,关闭默认用户认证,换言之,访问 /admin/index.php 目录下的文件需要认证信息,认证失败或者无认证信息将会返回 401 未授权页面;

2. 配置完成后,重启 IIS 服务器,浏览器远程访问此文件:http://192.168.180.207/admin/index.php,默认 IIS 账户访问提示 401 未授权;

3. 接下来,利用 :$i30:$INDEX_ALLOCATION 来绕过此限制,浏览器远程访问:

http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.php,成功绕过并访问到敏感信息;

4. 除此之外,如果目标站点限制上传和访问 php 文件,可以利用上传 aspx(.net 支持解析的文件类型)文件逃避限制,将其当做 php 代码执行;

Eg:网站目录下有一个 index.aspx 的文件,里面写有 php 代码,正常通过 http://192.168.180.207/admin:$i30:$INDEX_ALLOCATION/index.aspx 访问此文件无法执行代码,通过在末尾加上 index.aspx/.php 形式访问将会成功执行 php 代码;

a. 正常绕过访问 index.aspx 文件,页面返回乱码,未执行 phpinfo 代码:

b. 通过在末尾加上 /.php,成功执行 php 代码:

1.IIS 7.5 配置 .NET Framework 2.0 不受上述 ( 2 ) 的绕过影响;

2. 攻击者需要事先获取 IIS 服务器受认证保护目录;

4. 信息泄露漏洞

4.1Microsoft IIS 短文件名泄露漏洞

4.1.1 漏洞描述

IIS 短文件名漏洞是由于 HTTP 请求中携带旧 DOS 8.3 名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在 Web 根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

4.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 5.0-10.0 全系列版本

Windows 支持以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows 的程序访问这些文件。基于 Windows 的 IIS 服务器默认根目录 C:inetpubwwwroot 下的网页脚本文件和目录符合一定条件时,会生成相应的短文件名。此时,攻击者利用 HTTP 的 DEBUG、OPTIONS、GET、POST、HEAD、TRACE 等方法携带波浪号,可以对 IIS 服务器短文件名进行暴力猜解,依据返回的页面信息和状态码来确认真实存在的文件名,从而获取服务器敏感信息,为下一步攻击做准备。

· 漏洞类型:可远程利用,可触发信息泄露

1. 通过 cmd 下进入 IIS 网站根目录 C:inetpubwwwroot,输入“ dir /x ”查看已存在的短文件名:

2. 使用公开 POC 或者扫描程序探测目标靶机的短文件名,成功猜解到服务器根目录短文件名称:

1. 限制 IIS 服务器 HTTP 方法,除了必要的 GET、POST 方法,其他 HTTP 方法建议关闭,视情况开启;

2.IIS 服务器文件建议使用复杂字符或者中文命名,增后期攻击者暴力破解难度;

3. 针对已存在的 IIS 服务器,建议关闭 NTFS 8.3 文件格式的支持或者修改注册表禁用短文件名功能。

注:详细原理和解决方案请参考:https://www.freebuf.com/articles/web/172561.html

5. 代码执行漏洞

5.1Microsoft IIS 畸形文件扩展名绕过安全限制漏洞 CVE-2009-4444

5.1.1 漏洞描述

IIS 服务器错误的执行了带有多个扩展名的文件中所包含的 ASP 代码。例如,malicious.asp;.jpg 被执行为了 ASP 文件。很多文件上传程序仅检查文件扩展名的最后部分,因此这可能导致绕过保护机制向服务器上传恶意可执行文件。

5.1.2 漏洞分析和复现

· 漏洞影响版本:IIS 6.0

此漏洞主要原因是 IIS 第三方上传应用没有限制文件上传格式或者限制不够严格,只检查了文件末尾的格式,导致攻击者可以将如 Asp webshell 伪装成 malicious.asp;.jpg 文件格式上传到 IIS 服务器。IIS 的 Classic ASP 功能在处理 asp 文件时,被此畸形文件格式的分号截断了,认为是 asp 文件并进行相应的解析处理。攻击者则在获取上传路径后通过远程访问执行此 webshell,控制 IIS 服务器甚至 Windows 宿主机器。

· 漏洞类型:可远程利用,文件上传绕过可触发代码执行

复现环境:Win server 2003 Sp2 32 位企业版,默认 IIS 6.0

1.IIS 服务器根目录下创建一个名为 aspwebshell.asp;.jpg 的文件,用记事本打开,放入 asp webshell 代码(实际利用过程中是通过第三方应用上传绕过漏洞上传此文件,并设法获取此上传路径);

2. 通过浏览器远程访问此文件,http://192.168.180.201/aspwebshell.asp;.jpg,成功执行 asp webshell 代码:

1. 严格限制 IIS 第三方应用上传文件的格式;

2. 此漏洞仅影响 IIS 6.0,其他版本解析 asp 文件不会被分号截断,可升级至无此漏洞的 IIS 版本。

5.2 ( MS15-034 ) Microsoft IIS 远程代码执行漏洞复现 CVE-2015-1635

5.2.1 漏洞描述

Microsoft Windows 是美国微软(Microsoft)公司发布的一系列操作系统。Microsoft Internet Information Services(IIS)是一套运行于 Microsoft Windows 中的互联网基本服务。使用 Microsoft IIS 6.0 以上版本的 Microsoft Windows 的 HTTP 协议堆栈 ( HTTP.sys ) 中存在远程执行代码漏洞,该漏洞源于 HTTP.sys 文件没有正确分析经特殊设计的 HTTP 请求。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

5.2.2 漏洞分析和复现

· 漏洞影响版本:IIS 7.5、IIS 8.0、IIS 8.5

IIS 进程 w3wp.exe 接收到 HTTP 请求后,将数据缓存到内核中,并整合 HTTP 回应头,最后由 http.sys 组织数据包经由网络内核组件发送出去。请求中包括 Range 对象的指定范围,而缓存中则包含了 http 文件和大小信息等。

根据公开 POC,构造包含“ Range: bytes=0-18446744073709551615 ”的 HTTP 请求并发送到 IIS 7.5-8.5 服务器,如果 IIS 服务器返回“ Requested Range Not Satisfiable ”,则存在漏洞,如果返回“ The request has an invalid header name ”或者没有回应,则说明漏洞已经修补或者不存在漏洞。

· 漏洞类型:可远程利用,可触发代码执行

复现环境:Win server 2008 R2 64 位企业版,默认 IIS 7.5

1. 开启 IIS 默认网站

2. 根据公开 poc 发送包含特殊设计的 Range 字段攻击靶机环境,成功检测到漏洞:

1. 禁用 IIS 内核缓存,详情见微软官方公告:

https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2015/ms15-034

2. 升级 IIS 至 IIS 10.0 版本,此版本不存在此漏洞。

三、漏洞总结

IIS 远程漏洞主要包括缓冲区溢出、认证绕过、拒绝服务、代码执行和信息泄露漏洞,本地漏洞主要分布在信息泄露和权限提升漏洞分类,大部分漏洞利用难度较大,但是一旦成功被攻击者利用,影响的不仅仅只是 IIS 服务器,甚至可能是运行 IIS 的 Windows 主机。如果用户主机被利用,那么攻击者可以将此台主机当作肉鸡攻击内网中的其他主机、服务器或者网络设备等,后果不堪设想。

如果 IIS 服务器的网站配置不当,攻击者可以通过 IIS 短文件名猜解和暴力破解用户隐私文件并进行认证绕过访问,获取用户隐私信息。此外,不合理的上传限制也会导致攻击者上传含有恶意代码或 webshell 并伪装成合法的文件,进而导致 IIS 服务器被攻陷。攻击者利用提权漏洞或者命令执行等漏洞,对 IIS 服务器甚至是 Windows 操作系统进行进一步的攻击。无论是对 IIS 服务器本身的服务还是该 IIS 服务器所处的网络环境,IIS 漏洞都是一个极大的隐患。

9. 华为交换机FTP 远程主机关闭连接

ftp服务器可以接受的连接数是有限制的,应该限制连接数,而且在使用完后要及时释放。
在代码中一直连接,觉得不是个好方法。

10. ftp命令详细资料大全

档案传输软体的使用格式为:FTP,若连 接成功,系统将提示用户输入用户名及口令: LOGIN: (输入合法的用户名或者“anonymous”): PASSWORD: (输入合法的口令,若以“anonymous”方式登录,一般输入自己的信箱):

基本介绍

  • 中文名 :ftp命令
  • 使用格式 :FTP
  • 口令 :LOGIN
  • FTP :一个客户机/服务器系统
简介,基础命令,命令进阶,语法,详解,其它,

简介

与大多数Inter服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协定的客户机程式,连线到在远程主机上的FTP服务器程式。用户通过客户机程式向服务器程式发出FTP命令,服务器程式执行用户所发出的FTP命令,并将执行的结果返回到客户机。 FTP命令是Inter用户使用最频繁的命令之一,不论是在DOS、Windows的命令行、LINUX、UNⅨ 还是AⅨ作业系统下都可以使用FTP,都会遇到大量的FTP内部命令,熟悉并灵活套用FTP命令,可以大大方便使用者,并收到事半功倍之效。 比如说,用户发出一条命令,要求服务器向用户传送某一个档案的一份拷贝,服务器会回响这条命令,将指定档案送至用户的机器上。客户机程式代表用户接收到这个档案,将其存放在用户目录中。

基础命令

进入想要连线的FTP站点后,用户就可以进行相应的档案传输操作了,其中一些重要 的命令及相似的命令 如下: 1、HELP、、RHELP、REMOTEHELP HELP显示LOCAL端的命令说明,若不接受则显示所有可用命令; ?相当于HELP,例如:?CD: RHELP同HELP,只是它用来显示REMOTE端的命令说明; REMOTEHELP相当于RHELP。 2、ASC(ASCll)、bin(BINARY)、IMAGE、TYPE ASCⅡ切换传输模式为文字模式(只能用来传送DOC档案,因为是7-BIT); BINARY切换传输模式为二进制模式(除文字档案外皆用此模式); IMAGE相当于BINARY: TYPE让你更改或显示传输模式。 3、BYE、QUIT BYE退出FTP: QUIT相当于BYE。 4、CD、CDUP、LCD、P~WD、 ! CD改变当前工作目录,例如:CDPUB; CDUP回到上一层目录,相当于你打CD..: LCD让你更改或显示LOCAL端的工作目录,例如:LCDTMP; PWD显示的工作目录(REMOTE端): !让你执行外壳命令,例如:!LS。 5、DELETE、MDELETE、RENAME DELETE删除REMOTE端的档案: MDELETE批量删除档案,需配合?或,* RENAME更改REMOTE端的档案名称。 6、GET、MGET、PUT、MPUT、RECV、SEND GET下传档案; MGET批量下传档案,需配合万用字符,例如:MGET*.GZ; PUT上传档案; MPUT批量上传档案,需配合万用字符; RECV相当于GET(RECV为RECEIVE的简写): SEND相当于PUT。 7、HASH、PROMPT、VERBOSE、STATUS、BELL HASH切换#字号的出现,每一个#字号表示传送了1024/8192BYTES: PROMPT切换iNTERACTⅣEON/OFF; VERBOSE切换所有档案传输过程的显示; STATUS显示的一些参数: BELL当指令做完时会发出叫声。 8、LS、DIR、MLS、MDIR、MKDIR、RMDIR LS有点像UNIX下的LS(LIST)命令: DIR相当于LS-L(LIST-LONG); MLS只是将远端某目 录下的档案存于LOCAL端的某档案里; MDIR相当于MLS; MKDIR像DOS下的MD(创建子目录)一样: RMDIR像DOS下的RD(删除子目录)一样。 9、OPEN、CLOSE、DISCONNECT、USER OPEN连线某个远端FTP服务器; CLOSE关闭连线; DISCONNECT相当于CLOSE; USER再输入一次用户名和口令(有点像UNⅨ下的SU)。

命令进阶

语法

ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ] -C 允许用户指定:通过 send_file 命令发出的档案必须在网路高速缓冲区(NBC)中经过快取处理。此标志必须在指定了-q 标志的情况下使用。只有当档案在无保护的情况下以二进制方式传送时此标志才适用。 -d 将有关 ftp 命令操作的调试信息传送给 syslogd 守护进程。如果您指定-d 标志,您必须编辑/etc/syslog.conf 档案并添加下列中的一项: OR user.debug FileName 请注意:syslogd 守护进程调试级别包含信息级别讯息。 如果不编辑/etc/syslog.conf 档案,则不会产生讯息。变更了/etc/syslog.conf 档案之后,请运行 refresh -s syslogd 或 kill -1 SyslogdPID 命令,以通知 syslogd 守护进程其配置档案的变更。关于调试级别的更多信息,请参考/etc/syslog.conf 档案。也请参考 debug 子命令。 -g 禁用档案名称中的元字符拓展。解释元字符可参考为扩展(有时叫做档案名称匹配替换)档案名称。请参考 glob 子命令。 -i 关闭多档案传送中的互动式提示。请参考 prompt、mget、mput 和 mdelete 子命令,以取得多档案传送中的提示的描述。 -n 防止在起始连线中的自动登录。否则, ftp 命令会搜寻$HOME/rc 登录项,该登录项描述了远程主机的登录和初始化过程。请参考 user 子命令。 -q 允许用户指定:send_file 子例程必须用于在网路上传送档案。只有当档案在无保护的情况下以二进制方式传送时此标志才适用。 -v 显示远程服务器的全部回响,并提供数据传输的统计信息。当 ftp 命令的输出是到终端(如控制台或显示)时,此显示方式是预设方式。 如果 stdin 不是终端,除非用户调用带有-v 标志的 ftp 命令,或传送 verbose 子命令,否则 ftp 详细方式将禁用。 -f 导致转发凭证。如果Kerberos 5 不是当前认证方法,则此标志将被忽略。 -k realm 如果远程站的域不同于本地系统的域,系统将允许用户指定远程站的域。因此,域和DCE 单元是同义的。如果Kerberos 5 不是当前认证方法,则此标志将被忽略。 ?

详解

1、[crud[args)1:在本地机中执行互动shell,exit回到FTP环境, 列如:!LS*.zip. 2、$macro-amc[args儿执行宏定义macro-name。 3、aount[password]:提供登录远程系统成功后访问系统资源所需的补充口令。 4、append local-file[remote-file]:将本地档案追加到远程系统主机,若未指定远系统档案名称,则使用本地档案名称。 5、ASCii:使用ascⅡ型传输方式。 6、bell:每个命令执行完毕后计算机响铃—次 7、bin:使用二进制档案传输方式 8、bye..退出FTP会话过程— 9、case:在使用mget时,将远程主档案名称中的大写字母转为小写字母 10、cdremote·dir:进入远程主机目录。 11、cp..进入远程主机目录的父目录。 12、chmodmodefile-name:将远程主机档案file-name的存取方式设定为mode。列如:chmod777a.OUt。 13、close:中断与远程服务器的FTP会话(与open对应)。 14、cr:使用ASCii“方式传输档案时,将回车换行转换为回行 15、deleteremote-file-删除远程主机档案: 16、debugldebug-value3:.设定调试方式,显示传送至远程主机的每条命令。例如:debug3,若设为0,表示取消debug。 17、dir[remote-dir][Local-file]:显示远程主机目录,并将结果存入本地档案local-file: 18、disconnection-.同close。 19、formformat:将档案传输方式设定为format,预设为file方式。 20、getremote-file[10cal-file]:将远程主机的档案remote-file传至本地 硬盘的local-file。 21、glob:设定mdelete,mget,mput的档案名称扩展,预设时不扩展档案名称,同命令行的-g参数。 22、hash:每传输1024位元组,显示一个hash符号(#)。 23、help[cmd]:显示FTP内部命令cmd的帮助信息,如.-helpget。 24、idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。 25、image:设定二进制传输方式(同binary)。 26、LCD[DIR]:将本地工作目录切换至dir。 27、LS[remote-DIR][LOCAL-FILE]:显示远程目录remote-dir,并存入本地文local-fileo 28、macdefmacro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。 29、mdelete[remote-file]:删除远程主机档案。 30、mdirremote-fileslocal-file:与dlr类似,但可指定多个远程档案。列如mdir*.O.*.zipoutfiLe。 31、mgetremote-files:传输多个远程档案。 32、mkdirdirname:在远程主机中建一目录。 33、misremote-filelocal-file.同nlist,但可指定多个档案名称。 34、mode[modename]:将档案传输方式设定为modename,预设为stream方式。 35、modtimefile-name..显示远程主机档案的最后修改时间。· 36、mputlocal-file:将多个档案传输至远程主机, 37、newerfile-name:如果远程机中file-name的修改时间比本地硬盘同名档案的时间巨近,则重新传输该档案。·

其它

FTP服务器及匿名FTP FTP的全称是File Transfer Protocol(档案传输协定),顾名思义,就是专门用来传输档案的协定。FTP的主要作用,就是让用户连线上一个远程计算机(这些计算机上运行着 FTP服务器程式)察看远程计算机有哪些档案,然后把档案从远程计算机上拷到本地计算机,或把本地计算机的档案送到远程计算机去。 其实 早期在Inter上传输档案,并不是一件容易的事,我们知道 Inter是一个非常复杂的计算机环境,有PC、工作站、MAC、服务器、大型机等等,而这些计算机可能运行不同的作业系统,有Unix、Dos、 Windows、MacOS等等,各种作业系统之间的档案交流,需要建立一个统一的档案传输协定,这就是所谓的FTP。虽然基于不同的作业系统有不同的 FTP应用程式,而所有这些应用程式都遵守同一种协定,这样用户就可以把自己的档案传送给别人,或者从其它的用户环境中获得档案。 与大 多数Inter服务一样,FTP也是一个客户机/服务器系统(C/S)。用户通过一个支持FTP协定的客户机程式,连线到远程主机上的FTP服务器 程式。用户通过客户机程式向服务器程式发出命令,服务器程式执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个档案,将其存放在用户指定目录中。FTP客户程式 有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程式,操作上要简洁方便的多。 在FTP的使用当 中,用户经常遇到两个概念:"下载"(Download)和"上载"(Upload)。"下载"档案就是从远程主机拷贝档案至自己的计算机上;"上载"文 件就是将档案从自己的计算机中拷贝至远程主机上。用Inter语言来说,用户可通过客户机程式向(从)远程主机上载(下载)档案。 在ftp的使用过程中,必须首先登录,在远程主机上获得相应的许可权以后,方可上传或下载档案。也就是说,要想同哪一台计算机传送档案,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送档案。这种情况违背了Inter的开放性,Inter上的FTP主机何止千 万,不可能要求每个用户在每一台主机上都拥有帐号。因此就衍生出了匿名FTP。