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

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

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

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

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

Категории

Все категории
Loading categories
gitea-follow-existence — Демонстрирует оракул перечисления учётных записей Gitea: аутентифицированный PUT /api/v1/user/following/{username} возвращает 204 для скрытых учётных записей и 404 для неизвестных имён, с лабораторией на loopback. | Kitploit
Инструменты/GitHubGitHub/abraxas/gitea-follow-existence
РазведкаАнализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьТестирование на ПроникновениеБезопасность APIЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
abraxas/gitea-follow-existence

gitea-follow-existence

Демонстрирует оракул перечисления учётных записей Gitea: аутентифицированный PUT /api/v1/user/following/{username} возвращает 204 для скрытых учётных записей и 404 для неизвестных имён, с лабораторией на loopback.

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

Abraxas Labs - gitea-follow-existence

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-follow-existence

gitea-follow-existence

Gitea 1.27.3 - Gitea

GetInfo уже возвращает 404 для скрытых пользователей и лжёт о причине: fake ErrUserNotExist error message to not leak information about existence. PUT /user/following/{username} загружает цель через UserAssignmentAPI() и вызывает Follow. Без IsUserVisibleToViewer. Несуществующее имя: 404 user redirect does not exist. Скрытое имя, которое существует: 204.

204 означает, что аккаунт существует. 404 означает, что вы угадали имя, которого нет. JSON профиля остаётся закрытым.

IDпока нет CVE
CWECWE-203
CVSSСредний: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
ПродуктGitea
Затронутовплоть до v1.27.3 (146cc3e)
Аутентификацияаккаунт с выполненным входом
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1

Что может сделать атакующий

Войти (открытая регистрация по умолчанию дёшева). Доказать, что скрытый или ограниченный аккаунт существует, даже когда API профиля возвращает 404. Без выгрузки профиля. Без приватного git. В сочетании с unauth stargazers можно найти скрытый логин в публичном репозитории, а затем подтвердить, что он всё ещё существует после того, как они скрыли профиль.

Check и Unfollow находятся в той же группе. Та же отсутствующая проверка.

Как я это нашёл

Тот же проход по видимости, что и в stargazers. Когда обработчик так старательно лжёт, вы смотрите на каждый другой маршрут, принимающий {username}. Follow — нет.

Я зарегистрировал ограниченного атакующего, подписался на скрытое имя, подписался на имя, которого не существует, и сравнил коды статуса. Публичные пользователи должны возвращать 204. Это не SUCCESS. Скрытое 204 против неизвестного 404, в то время как GET возвращает 404, — это SUCCESS.

Уже зафиксированные неверные пути: Follow для скрытого возвращает 404 (тогда видимость проверяется на этом маршруте); JSON профиля для скрытого пользователя (GetInfo уже возвращает 404 — этот баг про класс статуса, а не про выгрузку); трактовка Follow 204 для публичного пользователя как SUCCESS; обратная оболочка. Театр.

Лаборатория

cd lab
./run.sh

Цель только http://127.0.0.1:18134. Compose допускает видимость public,limited,private.

get-hidden status=404
follow-hidden status=204
follow-unknown status=404 user redirect does not exist
oracle hidden=204 unknown=404
SUCCESS GITEA-FOLLOW-ORACLE

Исправление

Вызывать IsUserVisibleToViewer в Follow (а также Check/Unfollow) перед FollowUser. Скрытые имена должны возвращать 404 так же, как это уже делает GetInfo.

Ссылки

  • github.com/go-gitea/gitea тег v1.27.3
  • follower.go · api.go группа following · GetInfo
  • Тот же тег: gitea-stargazers-hidden
  • CWE-203

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только loopback-лаборатория. Без гарантий.

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