Determinar um usuário de facebook pelo número de telefone

Determinar um usuário de um número de telefone particular

Dado um número de telefone que foi definido como privado para não amigos, é possível determinar o usuário que possui esse número.
Isso satisfaz as seguintes condições
  • O telefone está definido como "Somente eu" em "Informações de contato" no perfil do usuário.
  • "Quem pode procurá-lo usando o número de telefone que você forneceu?" Está definido como "Somente amigos" (configuração mais baixa possível)
  • O usuário não é um amigo.
O caso base aqui é uma simples pesquisa via facebook.com que mostra que o usuário pode ser consultado como amigo.
No entanto, isso não é possível para um não-amigo.
Prova de conceito
Consulta de Chamada Raiz do GraphQL
Pedido
phone_number_to_loyalty_user({phone_number:PHONE_NUMBER}){fb_user}
Resposta
{
"resposta": {

"fb_user": {

"id": "USER_ID", "url": "https://www.facebook.com/username", "nome": "Nome Sobrenome"

}

}

}

A chamada raiz faz parte de um recurso ainda em teste, conforme descrito na postagem do TechCrunch 'Os códigos QR do Facebook Rewards' geram descontos para compras off-line .
Em uma demonstração de exploração, utilizou-se a metodologia do pesquisador de segurança Inti De Ceukelaire (@securinti) Como consegui seu número de telefone através do Facebook .
Impacto
Esse problema permitiu que um usuário mal-intencionado determinasse qual usuário possui um número de telefone específico, independentemente das configurações de privacidade do usuário.
Timeline
  • 8 de maio de 2017 - relatório enviado
  • 9 de maio de 2017 - escalada pelo Facebook
  • 9 de maio de 2017 - Corrigido pelo Facebook
  • 17 de maio de 2017 - Recompensa concedida pelo Facebook
obrigado
Gostaria de agradecer a Inti De Ceukelaire pelo trabalho de base detalhado que ele fez para explicar o risco de consultas por números de telefone. Além disso, tenho uma cerveja ou um caso para Shubs (@infosec_au) e Naffy (@nnwakelam) para a metodologia de reconhecimento descrita em Escrita sobre o Bug Bounty . Isso me ajudou a criar uma metodologia básica na identificação de ativos e endpoints em grande escala.