1
• Исследователь безопасности Алекс Шапиро взломал API системы бронирования авиакомпании Avelo. В результате получилось узнать личные данные случайных пассажиров.
• Уязвимость выявили совершенно случайно - Алекс решил изменить собственный билет в Avelo Airlines и заметил, что сайт отправляет странный запрос к API. Он попробовал подставить в URL свой шестизначный код бронирования, и сервер выдал полные данные рейса. А затем он подставил чужой код, оставив свою сессию - и снова получил доступ. Оказалось, что система не проверяет ФИО пассажира и не ограничивает частоту запросов. Любой, у кого есть валидный cookie, мог перебором подставлять шестизначные коды.
• В итоге имеем то, что для получения данных нужен всего лишь шестизначный номер бронирования, состоящий из заглавных букв английского алфавита и цифр. Возможных значений всего 2 176 782 336, и их не так сложно перебрать брутфорсом.
• Если арендовать сервер с возможностью отправлять по 100 тыс. запросов в секунду, то все актуальные коды бронирования можно будет получить примерно за шесть часов. При этом аренда сервера с нужными параметрами будет стоить в пределах тысячи баксов.
• Единственная система защиты в API системы бронирования Avelo - ограничение на количество запросов в секунду. Блокировки подозрительных IP-адресов или капчи в системе не было. Исследователь написал скрипт на Python для генерации случайных шестизначных кодов бронирования и получил от сервера данные пассажиров, включая: ФИО, дату рождения, пол, номер телефона, почту, номер бронирования, рейс, место в самолете и платежные данные.
• Исследователь обнаружил уязвимость 15 октября 2025 года и сразу сообщил в поддержку Avelo. Спустя сутки с инженером связались, и попросили подробнее рассказать об ошибке и воспроизвести её. Почти через месяц, 13 ноября, разработчики отчитались об исправлении.
➡️ https://alexschapiro.com/blog/avelo-airline
#Новости