网络安全 频道

Serv-U FTP Server 0day漏洞分析报告

  【IT168 资讯】Serv-U FTP Server 0day漏洞是一个Serv-U远程目录遍历漏洞,2011-12-01公布。该漏洞最终可以导致远程目录遍历漏洞,可以覆盖、下载任意文件。其影响范围:根据资料显示有Serv-U 5个版本受到影响,安全宝验证了其中2个(v7.3和v6.4),其他受到影响的版本是v7.1、v8.2和v10.5。

  模拟场景

  软件:Serv-U FTP Server 7.3
  FTP匿名帐户的根目录: C:\ftpuser
  所要攻击的目标目录:C:\WINDOWS

Serv-U FTP Server 0day漏洞分析报告

  原理说明

  来看一下用anonymous登陆后, 进行一个ls操作:

Serv-U FTP Server 0day漏洞分析报告

  此时一切正常,在ls操作中FTP目标目录路径由3个部分组成:

Serv-U FTP Server 0day漏洞分析报告

  如果想ls一下windows目录的话, 常规操作方法是这样ls ../windows

Serv-U FTP Server 0day漏洞分析报告

  由于该用户的FTP根目录是C:\ftpuser, 自然访问不了C:\windows,所以返回了一个550错误, 此时在serv-u.dll中, 路径的解析过程是这样的

Serv-U FTP Server 0day漏洞分析报告

  可以看出来, Serv-U的目录权限检查非常简单, 就是判断判断一下目标路径的首部是否是FTP用户的HOME目录, 如果是,目录权限检查就算通过了。

  那么现在来看一下该漏洞的攻击方式

Serv-U FTP Server 0day漏洞分析报告

  可以看到,如果使用..:/windows,就获取到了目录的访问权限,那么仅仅多了一个“:”,为何就能攻击成功呢?来看一下serv-u内部对路径的解析流程

Serv-U FTP Server 0day漏洞分析报告

  可以很明显看出, serv-u在删除了路径中的“:”后, 没有再将C:\ftpuser\..\windows

  进一步解释成C:\windows, 所以导致后面的那个简单的目录权限检查很轻松地就通过了,最终导致了攻击者获取了FTP用户HOME目录以外的访问权限。

  漏洞的具体位置是在serv-u.dll中的CSUString::MakeFullPath中

Serv-U FTP Server 0day漏洞分析报告

  目录权限检查的代码

Serv-U FTP Server 0day漏洞分析报告

  防护措施

  安全宝建议,在Serv-U官方还没有发布该漏洞补丁之前,管理员在本地以低权限运行Serv-U的服务,以及降低此漏风风险。

9
相关文章