A democracia é para todos, mas os dados pessoais não!

Reginaldo Junior
3 min readNov 25, 2019

--

Como descobrir uma exposição de dados pessoais em um site de um partido politico e fui ignorado durante 3 anos.

Sabemos que sou uma pessoa muito curiosa e que estou tentando sempre explorar algumas falhas sistemáticas tanto sociais quanto tecnológicas apontado os erros e alertando as pessoas sobre.

Não sou um profissional em segurança da informação somente um curioso, e nesta de ficar mexendo onde não sou chamado descobri uma falha não tão grave, mas que mãos erradas poderiam se tornar.

Um belo dia eu estava navegando por um site de um partido politico, para entender como funcionava, seu manifesto e ideologias, com isso parei na aba de filiação de membros.

A filiação de um partido funciona da seguinte maneira, uma pessoa física que compactua com os ideias deste partido se manifesta em participar ativamente do partido através da filiação, com ações diretas, recursos financeiros e até com candidaturas politicas para que o partido possa fazer seu papel da pluralidade democrática e ter recursos para poder avançar com suas pautas.

Nesta pagina de filiação alguns partidos tem os dados de seus filiados expostos livremente para que pessoas possam verificar como está seu processo de filiação e que outras pessoas também saibam como está distribuindo as pessoas filiadas.

Ao navegar pela pagina e fazer algumas pesquisas fiquei curioso e acessei o developer tools desta página, o developer tools é uma ferramenta dos navegadores para que desenvolvedores possam entender o que está acontecendo em sua pagina que está desenvolvendo, ou para neste caso, descobri falhas.

Nos requests que aparecem no developer tools vi uma chamada para um serviço externo que retornavam dados, mais conhecido no mundo de desenvolvimento como API. Esses dados são retornados quando um serviço faz uma chamada ao recurso disponível e este retorna as informações, normalmente estes dados são protegidos por senhas ou por firewalls que permitem que somente uma lista especifica de IPs tenham acesso.

Este serviço em especifico não estava com nenhum tipo de proteção e poderia ser acessado através de qualquer máquina do mundo.

Os dados retornados eram como o do exemplo abaixo.

Exemplo de JSON armazenado com informações trocadas para sigilo dos dados.

Podemos observar alguns dados sensiveis nesta estrutura, tais como: telefone, email, endereço. Além de outros dados, que podem ser consultados através de qualquer rede social ou site sobre eleições, como nome e titulo de eleitor.

Por fim, os dados mais preocupantes, nesta estrutura eram o telefone, email e estado. Para continuar explorando a falha e entender que realmente se tratava de um erro de segurança, tentei acessar esta API através de um serviço que não fosse um navegador, novamente obtive sucesso ao obter os dados.

Analisando mais a fundo a estrutura de dados e o recurso disponibilizado, fiz um pequeno script em python onde ele varria todas possíveis URLs desta listagem e armazenava a informação obtida em um arquivo de texto, no fim da execução deste script obtive mais de 5 mil em dados de filiados ao partido.

Esse falha foi descoberta por mim no dia 07/11/2017 e só percebi que houve a correção no dia 22/11/2019 no dia que verifiquei a falha enviei e-mail aos responsáveis pelo site, pelo partido e a alguns simpatizantes para que pudessem me ajudar com a comunicação do erro ao o responsável, porém não conseguir retorno de nenhuma pessoa, e até o momento que notei a correção não houve nenhum retorno por parte da equipe deles.

Provavelmente, eu devo ter sido ignorado e o erro corrigido por coincidência por algum dev responsável pelo serviço dentro do partido.

No mais, é importante ressalvar os dados que expomos nas APIs dentro de qualquer serviço pois nas mãos erradas podem ser utilizadas com mau uso e ações que podem prejudicar seus usuários e neste caso, filiados.

PS: Todos os dados adquiridos durante o teste exploratórios foram excluídos.

--

--

Reginaldo Junior

I am passionate about what I do, web developer, always striving to improve quality of life through technology, lover of the PHP language.