av AppSecure

Jag publicerar detta med Facebooks tillåtelse i enlighet med policyn för ansvarsfullt avslöjande. De har åtgärdat den här sårbarheten.

Det här inlägget handlar om en enkel sårbarhet som jag upptäckte på Facebook och som jag kunde ha använt för att hacka mig in i andra användares Facebook-konton på ett enkelt sätt och utan någon som helst interaktion från användarens sida.

Detta gav mig full tillgång till andra användares konton genom att sätta ett nytt lösenord. Jag kunde se meddelanden, deras kredit- och betalkort som var lagrade i deras betalningsavdelning, personliga foton och annan privat information.

Facebook bekräftade problemet snabbt, rättade det och belönade mig med en belöning på 15 000 US-dollar baserat på sårbarhetens svårighetsgrad och inverkan.

Hur hackningen fungerade

När en användare glömmer sitt lösenord på Facebook har de möjlighet att återställa lösenordet genom att ange sitt telefonnummer och sin e-postadress på https://www.facebook.com/login/identify?ctx=recover&lwv=110.

Facebook skickar då en 6-siffrig kod till detta telefonnummer eller denna e-postadress som användaren måste skriva in för att ställa in ett nytt lösenord.

Jag försökte bryta den 6-siffriga koden med brute force på www.facebook.com och blev blockerad efter 10-12 ogiltiga försök.

Därefter tittade jag ut efter samma problem på beta.facebook.com och mbasic.beta.facebook.com. Intressant nog saknades hastighetsbegränsning i slutpunkten för glömt lösenord.

Jag försökte ta över mitt eget konto (enligt Facebooks policy får du inte skada andra användares konton) och lyckades ställa in ett nytt lösenord för mitt konto. Jag kunde sedan använda samma lösenord för att logga in på mitt eget hackade konto.

En proof of concept-video av hackningen

Som du kan se i videon kunde jag ställa in ett nytt lösenord för användaren genom att brute forcera koden som skickades till deras e-postadress och telefonnummer.

Sårbar förfrågan

POST /recover/as/code/ HTTP/1.1

Host: beta.facebook.com

lsd=AVoywo13&n=XXXXX

Bruteforcing av ”n” gjorde det möjligt för mig att ställa in ett nytt lösenord för alla Facebook-användare.

Offentliggörande av tidslinjen

22 februari 2016 : Rapport skickad till Facebook-teamet.

23 februari 2016 : Verifierade rättningen från min sida.

2 mars 2016 : Facebook har utdelat ett pris på 15 000 dollar

.