Ich habe ein Skript hier mit einigen grundlegenden Funktionen: Funktion 1 - wget, öffnet eine Webseite und speichert es in einer lokalen Variablen und schließt dann. Funktion 2 - kratzt diese Webseite für MD5-Hash-Werte. Funktion 3 - nimmt die Hash-Werte und knackt sie mit einem Wörterbuch häufig verwendeter Passwörter.Nicht sicher, wie man die Ausgabe von einer Funktion als Eingabe für eine andere
Mein Problem ist, meine Ausgabe von Funktion 2 zu erhalten und sie in Funktion 3 einzufügen. Dies liegt teilweise daran, dass die Ausgabe von Funktion 2 eine Liste ist und Funktion 3 nur nach Hashwerten sucht.
Sie werden wahrscheinlich mehr aus dem Lesen meines Codes zu verstehen, unten ist mein Code so weit.
import sys, hashlib, re, urllib
def wget(url): # could import webpage_get and use wget() from there instead
'''Read the contents of a webpage from a specified URL'''
print '[+]---------------------------------------------------------------------------- ' #CHANGE THIS
# open URL
webpage = urllib.urlopen(url) # opens url like a file
# get page contents
page_contents = webpage.read() # reads content of webpage
return page_contents
page_contents = webpage.close() # close webpage
def findmd5(text):
'''Find all md5 hash values'''
md5value = re.findall(r'([a-fA-F\d]{32})', text)
count = len(md5value)
print "[+] Total number of md5 hash values found: %s" % count
for x in md5value:
print x
def dict_attack(passwd_hash):
dic = ['123','1234','12345','123456','1234567','12345678','password','qwerty','abc','abcd','abc123','111111','monkey','arsenal','letmein','trustno1','dragon','baseball','superman','iloveyou','starwars','montypython','cheese','123123','football','password','batman']
passwd_found = False
for value in dic:
hashvalue = hashlib.md5(value).hexdigest()
if hashvalue == passwd_hash:
passwd_found = True
recovered_password = value
if passwd_found == True:
print '[+] Password recovered: %s'% (recovered_password)
else:
print '[-] Password not recovered'
def main():
# temp testing url argument
sys.argv.append('URL HERE!')
# Check args
if len(sys.argv) != 2:
print '[-] Usage: email_analysis URL/filename'
return
#call functions
try:
print '[+] md5 values found: '
print findmd5(wget(sys.argv[1]))
print '[+] Cracking hash values: '
except IOError:
print 'Error'
if __name__ == '__main__':
main()
Jede Hilfe wird sehr geschätzt!
Ich sah eine Frage über genau diese Aufgabe vor weniger als einer Stunde. Kannst du mit deinem Klassenkameraden arbeiten? – TigerhawkT3