Платформа HackerOne, дающая возможность исследователям безопасности информировать разработчиков о выявлении уязвимостей и получать за это вознаграждения, получила
Примечательно, что захват учётной записи стал возможен из-за человеческого фактора. Один из исследователей отправил на рассмотрение заявку о потенциальной уязвимости в HackerOne. Аналитик HackerOne в ходе разбора заявки попытался повторить предложенный метод взлома, но проблему воспроизвести не удалось, и автору заявки был отправлен ответ с запросом дополнительных деталей. При этом аналитик не заметил, что вместе с результатами неудачной проверки по недосмотру отправил содержимое своей сессионной Cookie. В частности, в ходе диалога аналитик привёл пример выполненного утилитой curl HTTP-запроса, включающего HTTP-заголовки, из которых забыл почистить содержимое сессионной Cookie.
Исследователь заметил данную оплошность и смог получить доступ к привилегированной учётной записи на сайте hackerone.com, просто подставив замеченное значение Cookie без необходимости прохождения применяемой в сервисе многофакторной аутентификации. Атака стала возможной, так как на hackerone.com не применялась привязка сеанса к IP или браузеру пользователя. Проблемный сессионный идентификатор был удалён через два часа после публикации отчёта об утечке. За информирование о проблеме исследователю решено выплатить 20 тысяч долларов.
HackerOne инициировал аудит для анализа возможного возникновения подобных утечек Cookie в прошлом и для оценки потенциальных утечек закрытых сведений о проблемах клиентов сервиса. Аудит не выявил фактов утечек в прошлом и определил, что продемонстрировавший проблему исследователь мог получить сведения о примерно 5% из всех представленных в сервисе программ, к которым был открыт доступ аналитику, сессионный ключ которого был использован.
Для защиты от совершения подобных атак в будущем реализована привязка сессионного ключа к IP-адресу и фильтрация сессионных ключей и токенов аутентификации в комментариях. В дальнейшем привязку к IP планируют заменить на привязку к устройствам пользователя, так как привязка к IP неудобна для пользователей с динамически выдаваемыми адресами. Также решено расширить систему логов с информацией о доступе пользователей к данным и реализовать модель гранулированного доступа аналитиков к данным клиентов.
Источник: opennet.ru