Estouro de pilha mescla endereços de email do usuário

imagem

Estou desenvolvendo alertas do Google para o serviço GitSpo. Não entendi exatamente o que é, mas o serviço está se desenvolvendo rapidamente e as pessoas gostam. Grande parte do GitSpo está coletando dados de várias redes sociais: Twitter, LinkedIn e Stack Overflow. Percebi uma coisa: o Stack Overflow usa o serviço Gravatar para avatares nos perfis de usuário.

O Gravatar é um serviço que associa uma imagem (no nosso caso, um avatar) ao seu endereço de e-mail. Esta imagem pode ser usada por outros sites (no nosso caso, Stack Overflow) para exibir um avatar para as pessoas que visitam o site.

O avatar do usuário é encontrado com hash no seu endereço de e-mail. Por exemplo, meu endereço de email é gajus@gajus.com . Qualquer pessoa que tenha meu e-mail pode gerar um link para uma foto com meu avatar. Por exemplo, https://www.gravatar.com/avatar/74a5bd659b3a8af09a336a932eebe3b1

Temos:

imagem

O Gravatar foi lançado em 2007 e cresceu rapidamente em parte porque é usado como serviço padrão para avatares usados ​​em sites WordPress. Ótima idéia - envie um avatar uma vez e ele será instalado automaticamente em todos os sites. Basta atualizar o avatar no Gravatar e a imagem do seu avatar mudará imediatamente em todos os sites. Mas, infelizmente, o algoritmo de criptografia que eles escolheram acabou sendo completamente inseguro.

imagem

O link para a imagem é gerado pelo hash MD5 do seu endereço de e-mail, antes de ser transferido para minúsculas e os espaços removidos.

md5('gajus@gajus.com') === '74a5bd659b3a8af09a336a932eebe3b1'

Usar o MD5 para misturar informações pessoais foi uma má escolha, mesmo naquele momento. Hoje, o banco de dados de codificação MD5 compreende mais de 90 trilhões de hashes. Além disso, metade dos endereços de e-mail contém um intervalo limitado de caracteres ( /^►az@\-.†+$/ ) e é muito fácil prever seus finais, por exemplo, um domínio tão popular como
@ gmail.com
.

Decidi realizar um experimento, peguei 1000 hashes de perfis Stack Overflow e usei um dos serviços para descriptografia. O resultado foram 721 endereços de e-mail, ou seja, 72% de sucesso.

No entanto, é interessante usar esse caso não apenas para receber endereços de email. Muitos endereços de email de desenvolvedores já estão disponíveis ao público, pois os endereços de email do GitHub podem ser obtidos a partir de seus perfis, confirmações, arquivos e licenças, ou mesmo diretamente nos comentários do código. O GitSpo possui dados em todos os perfis e repositórios publicamente disponíveis do GitHub, então pude fazer o hash dos endereços e compará-los com os hashes do Stack Overflow. E eu encontrei 1000 deles.

Note-se que não apenas o Stack Overflow usa Gravatar, ele também é usado pelo WordPress, HootSuit, TechDirt, Disqus e não apenas. O Stack Overflow se destacou entre os demais, porque esse é um recurso no qual o público principal é o desenvolvedor e fiquei surpreso que tal coisa tenha passado pela brecha.

De fato, hoje o Stack Overflow não pode fazer muito - muitos sites na Internet, que são uma cópia do Stack Overflow. No entanto, seria ótimo optar por não usar o Gravatar para os usuários iniciantes se registrarem.

All Articles