Bruteforce - эксплуатация уязвимости
Первые шаги
Предположим, что у нас имеются списки, с наибольшей вероятностью используемых на ресурсе логинов и паролей.
Попробуем авторизоваться на ресурсе с помощью метода грубой силы и использования всего-навсего функционала инструментов разработчика в браузере.
Заходим на страницу авторизации и попробуем ввести логин:
![форма авторизации. форма авторизации.](/images/infosec/podbor-logina-i-parolya-pereborom/1wlpx5g/forma-avtorizacii.jpg)
Получим ошибку про неправильный логин.
![получили ошибку. получили ошибку.](/images/infosec/podbor-logina-i-parolya-pereborom/1xzfes6/poluchili-oshibku.jpg)
И это радует.
Потому что сообщения о неверном логине и пароле явно будут отличаться, а значит, можно сначала подобрать логин, а потом перейти к паролю.
F12 спешит на помощь
Автоматизируем подбор логина, используя только средства разработчика в Firefox.
На текущей странице нужно:
- нажать f12,
- открыть вкладку «Сеть»,
- далее ввести какие-либо данные в поля логина и пароля,
- нажать «login»,
- и во вкладке «Сеть» отобразятся все запросы, которые были отправлены со страницы.
![вкладка сеть и запросы. вкладка сеть и запросы.](/images/infosec/podbor-logina-i-parolya-pereborom/1cds8mu/vkladka-set-i-zaprosy.jpg)
Нам нужно найти POST запрос со статусом 200 и ключевым словом login.
- Клик правой кнопкой мыши по строке с данным запросом вызовет контекстное меню.
- Выбираем "Использовать как fetch в консоли" (запрос будет скопирован в буфер и появится во вкладке ниже)
![скопировали запрос в консоль. скопировали запрос в консоль.](/images/infosec/podbor-logina-i-parolya-pereborom/16v4y9h/skopirovali-zapros-v-konsol.jpg)
Это и есть наш POST запрос, в котором указаны username=1 password=2.
Модифицируем этот код так, чтобы вместо параметра username подставлялось значение из списка логинов.
Подготовка к bruteforce
1. Подготовим массив с логинами:
![готовим массивы с данными в js. готовим массивы с данными в js.](/images/infosec/podbor-logina-i-parolya-pereborom/vz3w7v/gotovim-massivy-s-dannymi-v-js.jpg)
Добавим цикл перебора логина. Логин будем подставлять прямо в запросе:
![модифицируем запрос. модифицируем запрос.](/images/infosec/podbor-logina-i-parolya-pereborom/1f56qkt/modificiruem-zapros.jpg)
Скопируем этот код и вернёмся в Firefox..
2. Использование консоли и вкладки "Сеть" в FF
Этот модифицированный скрипт и вставим в консоль на странице с формой и жмакнем enter, чтобы запустить цикл:
![запускаем цикл отправки запросов. запускаем цикл отправки запросов.](/images/infosec/podbor-logina-i-parolya-pereborom/1rgghni/zapuskaem-cikl-otpravki-zaprosov.jpg)
Далее Перейдём на вкладку «Сеть» - здесь куча POST запросов со статусом 200 это и есть перебор логинов.
![все отправленные со страницы запросы. все отправленные со страницы запросы.](/images/infosec/podbor-logina-i-parolya-pereborom/19oju2i/vse-otpravlennye-so-stranicy-zaprosy.jpg)
Среди них нужно вручную найти ответ, где логин пользователя оказался верным.
Об этом будет свидетельствовать изменение ошибки на «Incorrect password».
В текущем случае - это пользователь af, так как теперь на странице выводится ошибка, что пароль не верный.
3. Теперь подберём пароль.
В коде с циклом пропишем логин пользователя, раз мы его уже нашли, а бежать мы теперь будем по массиву паролей (который составлен аналогично usernames):
![подставим найденный логин в запрос и переберем пароли. подставим найденный логин в запрос и переберем пароли.](/images/infosec/podbor-logina-i-parolya-pereborom/1nlxr96/podstavim-naydennyy-login-v-zapros-i-pereberem-paroli.jpg)
Отправка запросов
Этот модифицированный скрипт опять вставим в консоль на странице с формой:
В ответах на вкладке «Сеть» теперь будем искать POST запрос со статусом 302: под ним и будет нужный пароль. В текущем случае пароль mustang.
![ищем запрос с редиректом на профиль. ищем запрос с редиректом на профиль.](/images/infosec/podbor-logina-i-parolya-pereborom/s0ln5s/ischem-zapros-s-redirektom-na-profil.jpg)
Итак, логин и пароль подобраны и для этого на не понадобилось никакое специальное ПО.
![картинка с котиками картинка с котиками](/images/infosec/podbor-logina-i-parolya-pereborom/dc6lq0/kartinka-s-kotikami.jpg)
Комментарии