Manipulação de mensagens no Facebook

Neste blog irei apresentar a falha de segurança que encontrei no Facebook Messenger, esta falha de segurança torna possível editar o chat e alterar mensagens enviadas.
Por meio desta falha de segurança é possível:

  • Excluir mensagens enviadas
  • Edite o conteúdo da mensagem enviada anteriormente
  • Adicionar, editar ou excluir fotos/Links e qualquer outro conteúdo

Vídeo de demonstração:


Facebook É uma parte essencial das atividades diárias em todo o mundo. Muitos usuários contam com o Facebook para comunicação pessoal e empresarial, tornando este tipo de violação de segurança muito atraente para os cibercriminosos.

Usuários mal-intencionados poderiam manipular o histórico da conversa e, assim, cometer golpes, alegar que tinham chegado a um acordo falso com a vítima, ou simplesmente mudar seus termos e até difamar políticos.

Os hackers podem usar o método de ataques de phishing, alterando um link legítimo para um link malicioso e, assim, induzir o usuário a clicar no link.

Informações técnicas sobre a falha de segurança:
Cada mensagem enviada no Facebook Messenger, tanto no site quanto no aplicativo, é identificada com um identificador único chamado message_id. Para localizar o message_id da mensagem que você deseja enviar, você precisa abrir um software proxy, como Burp Suit e pegar os pacotes de informações.

Se olharmos para a referência send_message.php no seguinte endereço:

www.facebook.com/ajax/mercury/send_message.php

Veremos todos os parâmetros que caracterizam uma mensagem em-messenger:

No exemplo, você pode ver que o message_id da mensagem é:

6132823528826294501

Portanto, se alterarmos o conteúdo da mensagem e enviá-la novamente com o mesmo messege_id, iremos substituir a mensagem que contém o mesmo-message_id.

Por exemplo, se enviarmos a próxima mensagem contendo o messege_id fornecido:

6132824131125156137
E vamos escrever Hi:

Podemos substituir a mensagem novamente se enviarmos outra mensagem com o mesmo -id:

Quanto ao dispositivo que recebe a nova mensagem, nenhuma notificação push é criada e o usuário não recebe nenhuma notificação de que a mensagem foi alterada.

Depois de alterar a mensagem, tentei descobrir se conseguia, de alguma forma, obter message_id de mensagens enviadas anteriormente..

Para fazer isso, eu só pesquisei o histórico para o valor da mensagem anterior que é:

6132823528826294501
Foi assim que encontrei a referência do arquivo thread_info:
www.facebook.com/ajax/mercury/thread_info.php
Que é executado toda vez que você abre o”Ele mesmo precisa saber quais mensagens colocar e onde é correto?

Desta forma, você pode localizar mensagens antigas e alterá-las. Além de alterar a mensagem, você também pode alterar outros parâmetros como has_attachment, que indica se você anexou um arquivo/Imagem para mensagem.
E assim por diante.

Outros artigos que você pode ter interesse: