- PVSM.RU - https://www.pvsm.ru -

Как уязвимость в REG.RU позволяла получить данные регистрации любого домена

Сегодня я хочу рассказать о том, как в далеком 2012 году я нашел уязвимость в системе регистрации доменов компании REG.RU [1]. Очень часто я вижу истории, в которых авторы рассказывают об уязвимостях при этом упоминая, что компания не уделила найденному багу должного внимания в течение длительного времени или не исправила его вовсе. В моем случае все было ровно наоборот, и уязвимость была устранена очень оперативно.

Как уязвимость в REG.RU позволяла получить данные регистрации любого домена - 1 [2]

В сентябре 2012 года REG.RU [3] стали регистрировать домены в зоне ru.com и разослали всем своим клиентам письма с предложением бесплатно получить на первый год домен в новой зоне с именем уже зарегистрированного домена в зонах ru, рф, su, com, net.

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

Как уязвимость в REG.RU позволяла получить данные регистрации любого домена - 2

Перед регистрацией домена система предлагала ознакомиться с контактными данными “оригинального” домена на которые будет зарегистрирован подарочный домен, но эти данные были открыты только для просмотра без возможности редактирования поэтому смысл их показа был непонятен. Однако, в этом и состоял первый баг: регистрация нового домена была доступна по ссылке вида https://www.reg.ru/domain/new/get_free_ru_com?service_id=XXXX, и ID услуги можно было просто перебрать, увидев, на кого зарегистрирован тот или иной домен.

Специалисты REG.RU [1] сделали так, чтобы любые контакты показывались не полностью, а отображались только первые 7 символов каждого поля, что теоретически не должно было полностью раскрывать информацию о владельце домена, однако, например, мои имя и фамилия оказались длиной менее 7 символов и они показывались полностью. Ну и плюс ко всему, если показывать первые 7 символов имени, то очень часто можно догадаться какие символы нужно добавить, простой пример — “Vladimi”.

Этот баг поправили довольно быстро, и теперь система показывала только первые 4 символа, что было намного лучше, хотя человек с именем “Хан Соло” был бы не очень доволен.

Как уязвимость в REG.RU позволяла получить данные регистрации любого домена - 3

Следующий баг — это возможность зарегистрировать домен без ввода кода активации. Чтобы все владельцы доменов разом не побежали регистрировать бесплатные домены, REG.RU [1] решил отправлять письма не сразу, а в течение пары дней, таким образом нагрузка распределялась равномерно. С технической точки зрения все было примерно так: в базе данных в таблице с доменами создали новый столбец “Код авторизации” с пустым значением, и время от времени пользователям отправлялись письма с одновременным заполнением этого поля сгенерированным кодом. Простым перебором можно было пройти по ссылке вида https://www.reg.ru/domain/new/get_free_ru_com?service_id=XXXX, увеличив ID услуги до того значения, когда система еще не успела выдать такому домену код авторизации и зарегистрировать домен с пустым кодом.

В регистрации такого домена не было ничего плохого, но после регистрации становилось видно полные контактные данные (ФИО, адрес и телефон) владельца “оригинального” домена без скрытых символов. Исправить данный баг было несложно, просто добавив при регистрации проверку на непустой код авторизации, что специалисты REG.RU [1] так же оперативно исправили.

Через некоторое время я нашел еще один баг, но он требовал чуть большего количества действий, чем просто перебор ID услуг. Для упрощения процедуры регистрации подарочных доменов REG.RU [1] сделали возможность зарегистрировать домен без ввода кода авторизации из письма, если e-mail аккаунта в системе reg.ru [1] совпадал с адресом электронной почты, указанным как контактный в оригинальном домене. Для пользователя это было довольно удобно, а вот в плане безопасности все было не так хорошо.

В 2012 году не было закона о защите персональных данных в текущей редакции, и у многих доменов в зоне ru можно было посмотреть контактный e-mail адрес через Whois. На момент нахождения этого бага адрес электронной почты уже был скрыт, но через сервисы просмотра истории Whois e-mail можно было посмотреть, и, с большой вероятностью, он был актуальным. После этого нужно было попробовать зарегистрироваться в системе REG.RU [1] с этим адресом электронной почты и после этого без кода авторизации получить бесплатный домен, что в свою очередь открывало доступ к контактным данным оригинального домена.

Если быть кратким, то порядок действий такой:

  1. Заходим на страницу вида https://www.reg.ru/domain/new/get_free_ru_com?service_id=XXXX и смотрим название домена с этим ID, например, habr.ru.com.
  2. Через сервис просмотра истории Whois находим e-mail адрес для домена habr.ru.
  3. С помощью этого адреса электронной почты создаем учетную запись в системе REG.RU [1] (подтверждения владения e-mail адресом тогда не требовалось).
  4. Без ввода кода подтверждения регистрируем домен habr.ru.com и видим полные контактные данные владельца habr.ru.

Ошибки, которые были допущены компанией REG.RU [1] потенциально могли привести к утечке большого количества персональных данных владельцев доменов, но все баги были исправлены очень оперативно. С момента написания первого письма (а написал я его лично исполнительному директору REG.RU [1]) и до исправления всех уязвимостей прошло меньше двух суток, что, на мой взгляд, довольно небольшой срок для компании таких размеров и сроками исправления уязвимостей у других корпораций.

Как уязвимость в REG.RU позволяла получить данные регистрации любого домена - 4


Заглядывайте на VPS.today [4] — сайт для поиска виртуальных серверов. 1400 тарифов от 120 хостеров, удобный интерфейс и большое число критериев для поиска самого лучшего виртуального сервера.

Автор: leonid239

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/298658

Ссылки в тексте:

[1] REG.RU: https://www.reg.ru/?rlink=reflink-717

[2] Image: https://habr.com/company/poiskvps/blog/429280

[3] REG.RU: https://www.reg.ru

[4] VPS.today: https://vps.today/

[5] Источник: https://habr.com/post/429280/?utm_campaign=429280