Hoje, quero falar sobre como, em 2012, encontrei uma vulnerabilidade no sistema de registro de domínio REG.RU. Muitas vezes, vejo histórias nas quais os autores falam sobre vulnerabilidades enquanto mencionam que a empresa não prestou atenção suficiente ao bug encontrado por um longo tempo ou não o corrigiu. No meu caso, tudo era exatamente o oposto e a vulnerabilidade foi eliminada muito rapidamente.

Em setembro de 2012, o
REG.RU começou a registrar domínios na zona
ru.com e enviou cartas a todos os seus clientes com a proposta de receber gratuitamente pelo primeiro ano um domínio em uma nova zona com o nome de um domínio já registrado nas zonas
ru ,
rf ,
su ,
com ,
net .
A obtenção de um domínio gratuito acabou sendo bastante simples: você tinha que seguir o link da carta, inserir o código de ativação do domínio e o domínio foi registrado gratuitamente por um ano.

Antes de registrar um domínio, o sistema se ofereceu para se familiarizar com os detalhes de contato do domínio "original" para o qual o domínio do presente será registrado, mas esses dados estavam abertos apenas para visualização sem a possibilidade de edição, para que o significado de sua exibição não fosse claro. No entanto, esse foi o primeiro bug: o registro de um novo domínio estava disponível por meio de um link no formato
https://www.reg.ru/domain/new/get_free_ru_com?service_id=XXXX
, e o ID do serviço poderia ser simplesmente enumerado ao ver para quem estava registrado um ou outro domínio.
Os especialistas do REG.RU garantiram que todos os contatos não fossem exibidos completamente, mas apenas os 7 primeiros caracteres de cada campo eram exibidos, o que teoricamente não deveria divulgar completamente as informações sobre o proprietário do domínio. No entanto, por exemplo, meu nome e sobrenome tinham menos de 7 caracteres e eles apareceu completamente. Bem, além de tudo, se você mostrar os 7 primeiros caracteres do nome, poderá adivinhar com frequência quais caracteres você precisa adicionar, um exemplo simples é "Vladimi".
Esse bug foi corrigido rapidamente, e agora o sistema mostrava apenas os 4 primeiros caracteres, o que era muito melhor, embora uma pessoa com o nome "Han Solo" não ficasse muito satisfeita.

O próximo bug é a capacidade de registrar um domínio sem inserir um código de ativação. Para impedir que todos os proprietários de domínio executem o registro de domínios gratuitos de uma só vez, o REG.RU decidiu enviar cartas não imediatamente, mas em alguns dias, para que a carga fosse distribuída uniformemente. Do ponto de vista técnico, era algo assim: no banco de dados da tabela com os domínios, uma nova coluna "Código de autorização" era criada com um valor vazio e, de tempos em tempos, eram enviadas cartas aos usuários com o mesmo código preenchendo este campo. Uma pesquisa simples pode acessar um link como
https://www.reg.ru/domain/new/get_free_ru_com?service_id=XXXX
, aumentando o ID do serviço para o valor quando o sistema ainda não conseguiu emitir um código de autorização para esse domínio e registrar o domínio com um espaço em branco código.
Não havia nada de errado em registrar esse domínio, mas após o registro, foi possível ver os detalhes completos de contato (nome, endereço e número de telefone) do proprietário do domínio “original” sem caracteres ocultos. Não foi difícil corrigir esse bug, basta adicionar uma verificação de um código de autorização não vazio durante o registro, que os especialistas do REG.RU também corrigiram prontamente.
Depois de um tempo, encontrei outro bug, mas ele exigiu um pouco mais de ação do que apenas classificar os IDs de serviço. Para simplificar o procedimento para registrar domínios de presente, o REG.RU tornou possível registrar um domínio sem inserir um código de autorização de uma carta se a conta de email no sistema reg.ru coincidisse com o endereço de email especificado como um contato no domínio original. Era bastante conveniente para o usuário, mas em termos de segurança, nem tudo era tão bom.
Em 2012, não havia lei sobre a proteção de dados pessoais na edição atual e, para muitos domínios na zona
ru , era possível ver o endereço de e-mail do contato através do Whois. No momento em que esse bug foi encontrado, o endereço de email já estava oculto, mas através dos serviços de visualização do histórico Whois, você podia ver o email e, com uma alta probabilidade, era relevante. Depois disso, você teve que tentar se registrar no sistema REG.RU com esse endereço de e-mail e, depois disso, sem um código de autorização, obter um domínio gratuito, que por sua vez abriu o acesso às informações de contato do domínio original.
Para ser breve, o procedimento é o seguinte:
- Iremos para uma página do formulário
https://www.reg.ru/domain/new/get_free_ru_com?service_id=XXXX
e veremos o nome do domínio com esse ID, por exemplo, habr.ru.com . - Através do serviço de visualizador de história Whois, encontramos o endereço de email do domínio habr.ru.
- Usando esse endereço de e-mail, criamos uma conta no sistema REG.RU (a confirmação da propriedade do endereço de e-mail não era necessária).
- Sem inserir o código de verificação, registramos o domínio habr.ru.com e vemos os detalhes de contato completos do proprietário habr.ru.
Os erros cometidos pelo REG.RU podem levar ao vazamento de uma grande quantidade de dados pessoais dos proprietários de domínio, mas todos os bugs foram corrigidos muito rapidamente. Menos de dois dias se passaram desde o momento em que escrevi a primeira carta (e eu a escrevi pessoalmente para o diretor executivo do REG.RU) e antes de corrigir todas as vulnerabilidades, o que, na minha opinião, é muito pouco tempo para uma empresa desse tamanho e termos para corrigir outras vulnerabilidades em outras empresas.
Dê uma olhada no VPS.today , um site para encontrar servidores virtuais. 1400 tarifas de 120 hosts, uma interface conveniente e um grande número de critérios para encontrar o melhor servidor virtual.