Проверяем формы авторизации
Найти формы авторизации можно с помощью такой команды (вместо подставьте домен вашего сайта):
code:
nmap -p80 --script http-auth-finder
После того, как нашли страницы с авторизацией, можно попробовать подобрать пароль и логин для входа в админку сайта.
Параметры:
- http-brute.hostname - имя хоста
- http-form-brute.path - адрес страницы с формой или адрес с API
- http-brute.method - тип метода, по умолчанию POST
- http-form-brute.uservar - устанавливает имя переменной, которая отвечает за username. Если не установлено, то скрипт возьмет имя поля из формы
- http-form-brute.passvar - устанавливает имя переменной, которая отвечает за пароль. Если не установлено, то скрипт возьмет имя поля из формы
Параметры нужно перечислять через запятую после -script-args.
code:
nmap -p-80 --script=http-form-brute --script-args=http-form-brute.path=/login
Если скрипт успешно сработает, то выведет примерно такой результат:
Подобранные данные для входа будут отображены после строчки
Accounts. В нашем случае скрипт подобрал логин user с паролем secret. В реальном приложении подбор может также занять продолжительное время, зависит от того насколько стойкий пароль используется.
Если ваша формы авторизации использует cookies параметры или
csrf-token, то в этом случае выдаст ошибку. (И это хорошо, значит базовую защиту вы предусмотрели).
В качестве защиты стоит использовать стойкие пароли, а также ограничивать количество запросов с одного IP-адреса (
Rate limiting).