Сценарий грубой силы по какой-то причине перестает работать на 26 словах

#python #testing #brute-force

Вопрос:

Я попытался создать быстрый словарь python bruteforcer для принудительного использования zip-файла. Хотя по какой-то причине он перестает брутфорсировать на 26 словах??

код:

 # Author: drk 
# A quick zipfile brute forcer (dictionary)

import zipfile
from tqdm import tqdm

wordlist = "/home/drk/Desktop/list.txt"

zip_file = "/home/drk/Desktop/impossible-password.zip"

file = zipfile.ZipFile(zip_file)

count = input("nDo you want to count the amount of words? (y/n): ")
if count == "y":
    total = len(list(open(wordlist, 'rb')))
    print("nTotal words is: "   str(total))
elif count == "n":
    print("ok")
else:
    print("did not recognize input, continuing...")

with open(wordlist, "rb") as list:
    for word in tqdm(wordlist, total=total, unit="words"):
        try:
            file.extractall(pwd=word.strip())
        except:
            continue
        else:
            print("[ ] Password Found!: "   word.decode().strip())
print("[-] None of the passwords did work. ")

 

выход:

 Do you want to count the amount of words? (y/n): y

Total words is: 100000
0%|                                                            | 26/100000 [00:00<00:05, 18968.85words/s]
[-] None of the passwords did work. 
 

Кто-нибудь знает, почему?

Комментарии:

1. Примечание: Не называйте свои переменные list ; отключение доступа к list конструктору в этой области-дурной тон.

Ответ №1:

Вы повторяете строку wordlist длиной 26 символов. Похоже, что вы хотите повторить строки файла, который вы открыли как list . Замените свой tqdm звонок на

 tqdm(list, total=total, unit="words")
 

Комментарии:

1. Следствие: Они почти наверняка намеревались использовать (плохо названное) list вместо этого.