Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2023-7028 — Эксплойт для захвата учётной записи GitLab через CVE-2023-7028, демонстрирующий обход сброса пароля путём внедрения email атакующего для получения токена сброса. | Kitploit
Инструменты/GitHubGitHub/thanhlam-attt/cve-2023-7028
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификация
GitHubthanhlam-attt/cve-2023-7028

CVE-2023-7028

Эксплойт для захвата учётной записи GitLab через CVE-2023-7028, демонстрирующий обход сброса пароля путём внедрения email атакующего для получения токена сброса.

Репозиторий
21112 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Введение

  • GitLab — это широко используемый веб-менеджер репозиториев, предоставляющий комплексную платформу для управления исходным кодом, интеграции, сопровождения и совместной работы в проектах разработки программного обеспечения.
  • CVE-2023-7028 — это уязвимость, позволяющая атакующему захватить учётную запись пользователя (Account TakeOver) через форму reset password.
  • Уязвимость присутствует в следующих версиях GitLab:
    • 16.1 — 16.1.5
    • 16.2 — 16.2.8
    • 16.3 — 16.3.6
    • 16.4 — 16.4.4
    • 16.5 — 16.5.5
    • 16.6 — 16.6.3
    • 16.7 — 16.7.1

Анализ уязвимости

  • Уязвимость находится в форме reset password, а именно в API endpoint POST /users/password GitLab. Атакующий эксплуатирует уязвимость в поле email address, обходя проверку неверного формата, что позволяет атакующему вставить свой email, и тогда GitLab отправляет reset token на email атакующего.
  • Анализ уязвимости:
    • Основываясь на фрагменте кода, предоставленном GitLab, мы видим следующее:

      1

      • Часть обработки запроса на сброс пароля находится в файле spec/controllers/passwords_controller_spec.rb, которая позволяет вводить несколько email из входных данных, но не имеет никакого механизма проверки email для подтверждения того, что это email пользователя.

      • Серверная сторона требует только authenticity_token (это скрытый токен для защиты от CSRF) от атакующего в отправляемой форме для отправки запроса на сброс пароля.

        2

      → Таким образом, мы можем вставить свой email, чтобы получить reset token для сброса пароля email жертвы и, следовательно, захватить учётную запись пользователя.

Эксплуатация уязвимости

  • Перехватив запрос на сброс пароля, мы получаем следующее:

    3

    • Форма включает authenticity_token, используемый для защиты от CSRF; email пользователя, чей пароль сбрасывается, помещается в переменную user[email].
  • Добавляем email атакующего с помощью payload &user[email][]=victim_email&user[email][]=attacker_email и отправляем запрос:

    4

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

    5

    6

Скачать инструмент