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.