0Pricing
Cyber Security Academy · Урок

Тестирование аутентификации и сеансов

Проверяйте перебор учётных данных, фиксацию сеанса, слабые места JWT и небезопасные токены «запомнить меня».

«Тестирование аутентификации и сеансов» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Область тестирования аутентификации

Тестирование аутентификации охватывает перебор учётных данных при входе, подстановку учётных данных, уязвимости управления сеансами, уязвимости JWT, небезопасные токены «запомнить меня» и недостатки сброса пароля. Эти проблемы часто приводят к полному захвату учётной записи.

Перечисление имён пользователей

Разные сообщения об ошибках для недействительного имени пользователя и недействительного пароля раскрывают действительные имена пользователей. Ищите различия во времени ответа, тексте сообщений, кодах состояния HTTP и URL перенаправления.

# Test login with:
# Valid user, wrong pass → "Incorrect password"
# Invalid user → "User not found"
# This confirms valid usernames!

# Time-based: longer response for valid users
# (bcrypt hash computed only for valid users)

Перебор входа с помощью интрудера Burp

Используйте интрудер с атакой «Снайпер» или «Вилы» для перебора данных входа. Отметьте поле пароля как позицию полезной нагрузки, загрузите словарь и отфильтруйте ответы по коду состояния или различию в длине.

# In Burp Intruder:
# 1. Send login request to Intruder
# 2. Mark: username=admin&password=§PASS§
# 3. Attack type: Sniper
# 4. Payload: passwords.txt from SecLists
# 5. Filter: 302 redirects = success

Подстановка учётных данных

Подстановка учётных данных использует пары имя пользователя:пароль из утёкших баз данных (Have I Been Pwned) против новых целей. Этот метод эффективен, потому что пользователи повторно используют пароли в разных сервисах.

# Tools:
# Hydra for HTTP login forms
hydra -L users.txt -P passwords.txt \
  192.168.1.100 http-post-form \
  "/login:user=^USER^&pass=^PASS^:Invalid"

Анализ токенов сеанса

Перехватывайте токены сеансов и анализируйте их предсказуемость (последовательные ID), длину (короткие токены легко угадать), кодирование (декодируйте Base64, чтобы увидеть структуру) и энтропию (пропускайте токены через Sequencer Burp).

# Burp Sequencer:
# Proxy > HTTP History
# Right-click login response
# Send to Sequencer
# Start live capture → Analyze

Фиксация сеанса

Фиксация сеанса возникает, когда сервер не меняет ID сеанса после входа. Запомните ID сеанса до входа и проверьте, сохраняется ли он после аутентификации.

Тестирование JWT

Токены JSON Web Token содержат утверждения аутентификации. Проверяйте путаницу алгоритмов (alg:none), возможность перебора слабого секрета и инъекцию заголовков. jwt.io декодирует JWT для проверки.

# Decode JWT
echo "eyJ..." | base64 -d

# None algorithm attack:
# Modify header: {"alg":"none"}
# Remove signature
# Encode and submit

# Brute force HS256 secret:
john --format=HMAC-SHA256 token.txt

Недостатки сброса пароля

Распространённые недостатки сброса: предсказуемые токены сброса (короткие или последовательные), инъекция заголовка Host (токен отправляется на домен атакующего), повторное использование токена (один и тот же токен действителен несколько раз) и отсутствие срока действия.

# Test host header injection:
# Modify Host: header in reset request:
Host: attacker.com

# If token arrives at attacker.com = vulnerability

# Test token entropy:
# Collect multiple tokens
# Check for patterns or short length

Безопасность токенов «запомнить меня»

Токены «запомнить меня» должны быть криптографически случайными, длинными (не менее 128 бит), храниться на сервере в виде хеша, использоваться один раз и быть привязанными к учётной записи пользователя. Проверяйте их предсказуемость и возможность повторного использования.

Обход многофакторной аутентификации

Распространённые способы обхода MFA: изменение ответа (замена неудачного результата на успешный), прямой доступ к URL после частичной аутентификации, перебор коротких OTP без ограничения скорости и подмена SIM-карты (социальный, а не технический метод).

Тестирование блокировки учётной записи

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

Быстрая проверка

Какая атака JWT изменяет поле алгоритма на «none», чтобы обойти проверку подписи?

Итоги: тестирование аутентификации и сеансов

Тестирование аутентификации охватывает всю цепочку — от первоначального входа до управления сеансом. Ищите перечисление имён пользователей, отсутствие блокировки, предсказуемые токены, путаницу алгоритмов JWT, инъекции при сбросе пароля и обходы MFA. Одной уязвимости в этой цепочке может быть достаточно для полного захвата учётной записи любого пользователя.

Часто задаваемые вопросы

Урок «Тестирование аутентификации и сеансов» бесплатный?

Да — полный текст урока «Тестирование аутентификации и сеансов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Тестирование аутентификации и сеансов»?

Проверяйте перебор учётных данных, фиксацию сеанса, слабые места JWT и небезопасные токены «запомнить меня». Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Тестирование аутентификации и сеансов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Прокси Burp Suite и перехват запросов
  2. Тестирование уязвимостей внедрения
  3. Тестирование аутентификации и сеансов
  4. Уязвимости загрузки файлов и SSRF
← Назад к Cyber Security Academy