Bruteforce - эксплуатация уязвимости

Первые шаги

Предположим, что у нас имеются списки, с наибольшей вероятностью используемых на ресурсе логинов и паролей.

Попробуем авторизоваться на ресурсе с помощью метода грубой силы и использования всего-навсего функционала инструментов разработчика в браузере.

Заходим на страницу авторизации и попробуем ввести логин:

форма авторизации. форма авторизации.

Получим ошибку про неправильный логин.

получили ошибку. получили ошибку.

И это радует.

Потому что сообщения о неверном логине и пароле явно будут отличаться, а значит, можно сначала подобрать логин, а потом перейти к паролю.

F12 спешит на помощь

Автоматизируем подбор логина, используя только средства разработчика в Firefox.

На текущей странице нужно:

  1. нажать f12,
  2. открыть вкладку «Сеть»,
  3. далее ввести какие-либо данные в поля логина и пароля,
  4. нажать «login»,
  5. и во вкладке «Сеть» отобразятся все запросы, которые были отправлены со страницы.
вкладка сеть и запросы. вкладка сеть и запросы.

Нам нужно найти POST запрос со статусом 200 и ключевым словом login.

  1. Клик правой кнопкой мыши по строке с данным запросом вызовет контекстное меню.
  2. Выбираем "Использовать как fetch в консоли" (запрос будет скопирован в буфер и появится во вкладке ниже)
скопировали запрос в консоль. скопировали запрос в консоль.

Это и есть наш POST запрос, в котором указаны username=1 password=2.
Модифицируем этот код так, чтобы вместо параметра username подставлялось значение из списка логинов.

Подготовка к bruteforce

1. Подготовим массив с логинами:

готовим массивы с данными в js. готовим массивы с данными в js.

Добавим цикл перебора логина. Логин будем подставлять прямо в запросе:

модифицируем запрос. модифицируем запрос.

Скопируем этот код и вернёмся в Firefox..

2. Использование консоли и вкладки "Сеть" в FF

Этот модифицированный скрипт и вставим в консоль на странице с формой и жмакнем enter, чтобы запустить цикл:

запускаем цикл отправки запросов. запускаем цикл отправки запросов.

Далее Перейдём на вкладку «Сеть» - здесь куча POST запросов со статусом 200 это и есть перебор логинов.

 все отправленные со страницы запросы. все отправленные со страницы запросы.

Среди них нужно вручную найти ответ, где логин пользователя оказался верным.

Об этом будет свидетельствовать изменение ошибки на «Incorrect password».

В текущем случае - это пользователь af, так как теперь на странице выводится ошибка, что пароль не верный.

3. Теперь подберём пароль.

В коде с циклом пропишем логин пользователя, раз мы его уже нашли, а бежать мы теперь будем по массиву паролей (который составлен аналогично usernames):

 подставим найденный логин в запрос и переберем пароли. подставим найденный логин в запрос и переберем пароли.

Отправка запросов

Этот модифицированный скрипт опять вставим в консоль на странице с формой:

В ответах на вкладке «Сеть» теперь будем искать POST запрос со статусом 302: под ним и будет нужный пароль. В текущем случае пароль mustang.

 ищем запрос с редиректом на профиль. ищем запрос с редиректом на профиль.

Итак, логин и пароль подобраны и для этого на не понадобилось никакое специальное ПО.

 картинка с котиками картинка с котиками

Комментарии

Гость
Ответить
Войдите, чтобы оставить комментарий.
Гость
Ответить
Гость
Ответить
Гость
Ответить
Еще нет комментариев, оставьте первый.