Вопрос или проблема
Итак, когда я смотрю на справочный файл Hydra, это то, что там написано:
Синтаксис: hydra [[[-l ЛОГИН|-L ФАЙЛ] [-p ПАРОЛЬ|-P ФАЙЛ]] | [-C ФАЙЛ]] [-e nsr] [-o ФАЙЛ] [-t ЗАДАЧИ] [-M ФАЙЛ [-T ЗАДАЧИ]] [-w ВРЕМЯ] [-W ВРЕМЯ] [-f] [-s ПОРТ] [-x МИН:МАКС:НАБОР СИМВОЛОВ] [-SuvVd46] [service://server[:PORT][/OPT]]
Сервис, который меня интересует, – это http-get-form
. Когда я смотрю справку по этому модулю, мне нужно использовать его так:
<url>:<параметры формы>:<строка условия>[:<необязательный>[:<необязательный>]
Из примеров в справочнике мне нужно использовать его так –
"/login.php:user=^USER^&pass=^PASS^:incorrect"
Я составляю запрос следующим образом –
hydra -L usernames.txt -P passwords.txt http-get-form://site.appspot.com "/lab/webapp/1:email=^USER^&password=^PASS^:Failed"
Hydra выдает ошибку Unknown service: lab/webapp/1:email=^USER^&password=^PASS^:Failed
Судя по этому посту здесь, возможно, Hydra больше не поддерживает такую форму синтаксиса. Я знаю, что есть альтернативный синтаксис, который работает. Однако, я хотел бы узнать, что я делаю неправильно с используемым синтаксисом.
Полагаю, что описание синтаксиса верно только для сервиса http
🙂
Измените вашу команду на эту, и всё получится. Я протестировал на версии 8.1
hydra -L usernames.txt -P passwords.txt site.appspot.com http-get-form "/lab/webapp/1:email=^USER^&password=^PASS^:Failed"
Ответ или решение
Hydra – это популярный инструмент для перебора учетных данных, и его синтаксис может быть немного запутан, особенно при использовании различных модулей, таких как http-get-form
. Давайте по шагам разберем, в чем заключалась ошибка и как правильно составить команду.
Понимание Синтаксиса Hydra
Hydra предоставляет гибкий синтаксис для различных форматов подключения и брутфорса. Ваша задача — извлечь данные доступа через формы HTTP с помощью модуля http-get-form
. Согласно документации, синтаксис для использования этого модуля следующий:
<url>:<form parameters>:<condition string>[:<optional>[:<optional>]]
Разбор Ошибки
Вы попытались использовать команду:
hydra -L usernames.txt -P passwords.txt http-get-form://site.appspot.com "/lab/webapp/1:email=^USER^&password=^PASS^:Failed"
Ошибка заключалась в использовании неверного синтаксиса для вызова службы http-get-form
. Использование http-get-form://site.appspot.com
было неверным. Правильный формат — это использование имени сервера (домен или IP) отдельно от модуля.
Правильная Команда
Корректная конструкция вашей команды должна выглядеть следующим образом:
hydra -L usernames.txt -P passwords.txt site.appspot.com http-get-form "/lab/webapp/1:email=^USER^&password=^PASS^:Failed"
Пояснение
-
Список пользователей и паролей: Используются файлы
usernames.txt
иpasswords.txt
, где хранятся логины и пароли для перебора. -
Модуль и URL:
site.appspot.com
— это целевой сервер, аhttp-get-form
указывает Hydra, что будет использован модуль для работы с HTTP формами. -
Параметры формы: Конструкция
"/lab/webapp/1:email=^USER^&password=^PASS^:Failed"
сообщает Hydra, на какой URL отправлять запросы и какие параметры формы заменять именами пользователей и паролями из вашего списка. -
Строка условия:
Failed
— это текст, который Hydra будет искать в ответе сервера, чтобы определить, что попытка авторизации была неудачной.
Обзор
Ваша ошибка сводилась к использованию неправильного позиционирования модуля и целевого сервера в команде. Убедитесь всегда точно следовать документации и правильно интерпретировать синтаксис. Следуя этим шагам, вы сможете успешно настроить ваш инструмент для выполнения задач по перебору данных.
Если потребуется дополнительная помощь, старайтесь обращаться к актуальной документации и сообществу, чтобы оставаться в курсе возможных изменений и обновлений в функционале Hydra.