June 29, 2023

Настройка брутфорса

Приветствую! В этой статье мы настроим bruteforcer на нужный вам сайт. Наша главная цель: научить софт вводить данные в правильные поля логина/пароля. Так же, для примера я выбрал сайт с капчей, мы настроим её тоже. В качестве примера используется сайт blablacar.com, он идеальный пример для демонстрации всего функционала. Ваша задача: повторить действия.



Определяем поля для ввода

Это, наверное, самое трудное, но одновременно и лёгкое действие из всей нашей настройки. Первоначально, переходим на страницу авторизации. Меня встречает два поля для ввода данных и кнопка "Log-In". Открываем "Консоль разработчика" клавишей "F12" и выбираем режим "Инспектора". И так.. Теперь нам нужно выделить поле ввода логина, буквально тыкнуть на него. После нажатия, у нас должна "подсветится" одна строчка. Я предлагаю настроить её используя метод "XPath". То есть, мы должны получить "позицию" этого поля, чтобы софт смог потом вводить в него логин. Для получения "XPath", нам нужно на строчке которая выделилась нажать: левую кнопку мышки —> Скопировать --> XPath. Поздравляю, готово! Вы можете настроить остальные поля аналогично, используя этот метод. Но, в этой статье я хочу затронуть и другие. Попрошу обратить внимание на скриншот, тут показан тот же процесс, только в графическом виде.

Поле ввода пароля я предлагаю получить через class или element-id. Что это такое? По сути, каждый элемент имеет свое имя, зачастую уникальное. Когда вы вводите какие-то данные, за графической оболочкой сайта происходит целый процесс. Например: когда что-то ищем в YouTube, мы "говорим" с сайтом на программном языке. Благодаря именам полей, он понимает, что мы сейчас ищем видеоролик с котиками, а не пишем комментарий, условно. Так вот, чтобы получить имя поля и ввести его в софт, нам нужно так же открыть консоль, тыкнуть по полю ввода пароля и взглянуть на строчку. У меня она выглядит так:

Тут мы сразу замечаем "class" (у вас это может быть и "id"), об котором я говорил выше. Наша задача: сделать двойное нажатие мышкой и скопировать содержимое. На этом все, вроде легко. Перейдём к нажатию кнопки..


Определяем кнопку логина

Опять же упомяну, можно было остановится на "XPath", но я хочу затронуть все методы. С кнопками все намного легче, мы можем научить софт нажимать прямо по тексту. Да, если ваша кнопка обладает надписью "Log in" (как у меня) — вы можете выбрать тип "text" в софте и ввести эту надпись. Я так и сделаю. Чтобы точно скопировать текст внутри кнопки, советую так же выделить её.


Определяем вид капчи

Для этого, нам нужно несколько раз быстро ввести неправильные данные для авторизации и сайт нам сам предложит решить её. Так и случилось. У меня это "reCAPTCHA v2.0" и у вас, скорее всего, будет такая же. Как я определил её? Она самостоятельно сообщает свое название=) Просто взгляните на этот скриншот:

У reCAPTCHA есть две версии: V2 и V3. Отличия только в том, что V2 появляется постоянно, при любой авторизации. А вот третья версия — по умному. На основе прошлых попыток авторизации с IP, качестве браузера и так далее она выбирает, стоит ли показывать вам капчу. То есть да, фактически, если сайт вам закинул капчу с 5-того раза — это V3, если показывает её постоянно — V2. Так же, вы скорее всего, встретите hCAPTCHA. Она тоже на уровне популярности, как и reCAPTCHA, аналогично сообщает свое название, проблем отличить не возникнет.
Для решения нам нужно будет выделить ~100 рублей на ключ к сервису, который будет все это решать вместо нас. Я пополнил баланс на rucaptcha.com. На 1000 решенных капч уходит ~40 рублей, что действительно является копейками.