Электронные полисы украинской страховой компании в открытом доступе
Всем привет. Сегодня я расскажу об интересной особенности НАСК "Оранта", которая позволяет получить доступ к чужим страховым полисам.
После покупки автогражданки я получил на почту следующее письмо:
Меня сразу же заинтересовала возможность просматривать свой страховой полис без авторизации в системе, а также алгоритм генерации ссылки (ссылка изменена).
https://oranta.ua/policy/fcea920f7412b5da7be0cf42b8c93759/
Я попытался расшифровать и получил целое 7-значное число 1234567
Данное число — по-сути идентификатор страхового полиса в базе данных Оранты, его также можно найти на самой странице.
MD5 в данном случае не несет какой-либо защитной функции, по-сути мы имеем ссылку вида https://oranta.ua/policy/1234567/
Из этого я сделал вывод, что можно сгенерировать список ссылок, используя в качестве идентификаторов диапазон, например, 1000000-4000000 (3 млн уникальных ссылок) и перебрать их, сохраняя те, которые возвращают HTTP 200 OK и имеют ненулевой content-length. Таким образом мы отбираем только валидные ссылки для доступа к действующим полисам страхования.
Типы полисов, которые подвержены риску: туристический, автогражданка, зеленая карта.
Персональные данные клиентов, которые публично доступны: ФИО, дата рождения, серия и номер паспорта, ИНН, адрес проживания, номер телефона, серия и номер ВУ, номер, марка, год выпуска и VIN транспортного средства, а также фактически даты отсутствия дома (туристическое страхование).
Примеры (персональные данные закрашены):
Это не взлом, а всего лишь уязвимость в алгоритме генерации ссылок для доступа без авторизации. Надеюсь, что алгоритм будет усовершенствован, а текущие ссылки с персональными данными клиентов страховой компании станут недоступны.
Было несколько безуспешных попыток связаться с Орантой и сообщить им об уязвимости:
07.06.2019 - Email
10.06.2019 - FB
01.08.2019 - FB
На сегодняшний день 07.08.2019 (2 месяца после отправки репорта) все полисы как и прежде доступны.
Всем спасибо.