af AppSecure

Jeg offentliggør dette med tilladelse fra Facebook i henhold til politikken om ansvarlig offentliggørelse. De har rettet denne sårbarhed.

Dette indlæg handler om en simpel sårbarhed, jeg opdagede på Facebook, som jeg kunne have brugt til at hacke mig ind i andre brugeres Facebook-konti nemt og uden brugerinteraktion.

Dette gav mig fuld adgang til andre brugeres konto ved at indstille en ny adgangskode. Jeg kunne se meddelelser, deres kredit-/debitkort gemt under deres betalingssektion, personlige billeder og andre private oplysninger.

Facebook anerkendte problemet hurtigt, rettede det og belønnede mig med en dusør på 15.000 amerikanske dollars baseret på alvoren og virkningen af denne sårbarhed.

Sådan virkede hacket

Når en bruger glemmer sin adgangskode på Facebook, har vedkommende mulighed for at nulstille adgangskoden ved at indtaste sit telefonnummer og sin e-mailadresse på https://www.facebook.com/login/identify?ctx=recover&lwv=110.

Facebook sender derefter en 6-cifret kode til dette telefonnummer eller denne e-mail-adresse, som brugeren skal indtaste for at indstille en ny adgangskode.

Jeg forsøgte at brute force den 6-cifrede kode på www.facebook.com og blev blokeret efter 10-12 ugyldige forsøg.

Derpå kiggede jeg ud efter samme problem på beta.facebook.com og mbasic.beta.facebook.com. Interessant nok manglede hastighedsbegrænsning fra forgot password endpoint.

Jeg forsøgte at overtage min egen konto (i henhold til Facebooks politik må du ikke gøre skade på andre brugeres konti), og det lykkedes mig at indstille en ny adgangskode til min konto. Jeg kunne derefter bruge det samme kodeord til at logge ind på min egen hackede konto.

En proof of concept-video af hacket

Som du kan se i videoen, var jeg i stand til at indstille et nyt kodeord til brugeren ved at bruteforcere den kode, der blev sendt til deres e-mailadresse og telefonnummer.

Sårbar anmodning

POST /recover/as/code/ HTTP/1.1

Host: beta.facebook.com

lsd=AVoywo13&n=XXXXX

Bruteforcing af “n” tillod mig med succes at indstille ny adgangskode for enhver Facebook-bruger.

Oplysning af tidslinje

22. februar 2016 : Rapport sendt til Facebook-holdet.

23. februar 2016 : Verificerede rettelsen fra min side.

2. marts 2016 : Bounty på 15.000 dollars tildelt af Facebook