Descubrí una manera de piratear cualquiera de las 2 mil millones de cuentas de Facebook, y me pagaron una recompensa de $ 15,000 ...

Estoy publicando esto con el permiso de Facebook bajo la política de divulgación responsable. Han solucionado esta vulnerabilidad.

Esta publicación trata sobre una vulnerabilidad simple que descubrí en Facebook que podría haber usado para hackear las cuentas de Facebook de otros usuarios fácilmente y sin interacción del usuario.

Esto me dio acceso completo a la cuenta de otros usuarios estableciendo una nueva contraseña. Pude ver los mensajes, sus tarjetas de crédito / débito almacenadas en su sección de pago, fotos personales y otra información privada.

Facebook reconoció el problema de inmediato, lo solucionó y me recompensó con una recompensa de US $ 15.000 en función de la gravedad y el impacto de esta vulnerabilidad.

Cómo funcionó el truco

Cuando un usuario olvida su contraseña en Facebook, tiene la opción de restablecer la contraseña ingresando su número de teléfono y dirección de correo electrónico en //www.facebook.com/login/identify?ctx=recover&lwv=110.

Luego, Facebook enviará un código de 6 dígitos a este número de teléfono o dirección de correo electrónico que el usuario debe ingresar para establecer una nueva contraseña.

Intenté forzar el código de 6 dígitos en www.facebook.com y fui bloqueado después de 10 a 12 intentos inválidos.

Luego busqué el mismo problema en beta.facebook.com y mbasic.beta.facebook.com. Curiosamente, faltaba la limitación de velocidad en el punto final de contraseña olvidada.

Traté de tomar el control de mi propia cuenta (según la política de Facebook, no debes dañar las cuentas de otros usuarios) y pude establecer una nueva contraseña para mi cuenta. Entonces podría usar esta misma contraseña para iniciar sesión en mi propia cuenta pirateada.

Un video de prueba de concepto del truco

Como puede ver en el video, pude establecer una nueva contraseña para el usuario mediante la fuerza bruta del código que se envió a su dirección de correo electrónico y número de teléfono.

Solicitud vulnerable

POST /recover/as/code/ HTTP/1.1

Host: beta.facebook.com

lsd=AVoywo13&n=XXXXX

Forzar la "n" con éxito me permitió establecer una nueva contraseña para cualquier usuario de Facebook.

Cronograma de divulgación

22 de febrero de 2016: Informe enviado al equipo de Facebook.

23 de febrero de 2016: Verificó la solución de mi parte.

2 de marzo de 2016: Recompensa de $ 15,000 otorgada por Facebook