Один HTTP-заголовок — и приватный код нараспашку

Ставили git-сервер у себя в компании, чтобы никто не увидел код. А зайти туда можно было без пароля — одним заголовком в обычном запросе.

Пришёл на аудит в производственную компанию — у них свой сервер для хранения кода внутренних разработок и настроек оборудования. Логика была простая: раз держим сервер у себя, а не в облаке, значит всё приватно и защищено.

Оказалось, версия системы стояла старая, с известной дырой. Достаточно было добавить один специальный заголовок в обычный запрос к серверу — и проверка пароля просто не срабатывала. Без подбора паролей, без хитрого взлома: система сама решала, что запрос «свой».

Через эту дыру можно было зайти в приватные репозитории — там лежали доступы к базам клиентов и настройки оборудования — и попасть в саму админку сервера, то есть получить управление всей системой.

Посчитал, во что это могло вылиться: разработка велась три года, в коде — логика продукта и доступы к базам. Утечка к конкурентам или в открытый доступ — это потери в несколько миллионов рублей и удар по доверию партнёров, чьи данные там тоже хранились.

Закрыл дыру за пару часов: обновил систему, ограничил доступ к админке по IP-адресам и настроил уведомление руководителю в мессенджер при попытке входа с незнакомого адреса. Работа обошлась в разы дешевле одного потерянного контракта.

Самое опасное — не сама дырка, а уверенность, что «свой сервер» автоматически значит «защищённый». А вы проверяли, когда последний раз обновляли git-сервер или другую систему хранения кода у себя?

Полный разбор с деталями кейса →

Бесплатный аудит безопасности

Сколько стоит взлом

Канал в Telegram

Канал в MAX

Один HTTP-заголовок — и приватный код нараспашку | Сетка — социальная сеть от hh.ru