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