Så hittade jag en säkerhetsbrist på Facebook

Det var en fredagskväll för ett tag sedan och jag hade lite tid över. Jag visste sedan tidigare att Facebook uppmuntrade dess användare att hitta och rapportera in säkerhetsbrister som kan identifieras på facebook.com.

Sagt och gjort så kollade jag runt lite på vad jag skulle kunna tänkas att fokusera på för någon typ av sårbarhet. Valde att titta närmare på  Adobe Flash-filer som fanns (dvs .swf) och det var en hel del.

Tittar man på OWASP-projektets hemsida om just Flash så inser man granska snabbt att det är rätt lätt att skita i det blå skåpet om man gör fel.

Använde mig av en proxy (Charles Proxy) för att göra mitm (man in the middle) på min Facebook-trafik och sedan sökte jag helt enkelt efter .swf-referenser i koden. Hittade efter ett tag en .swf-fil som tillhörde något som heter Open Graph och denna swf hade stöd för att ladda in ytterligare moduler externt.

Sagt och gjort så testade jag att skapa en egen swf-fil som bara exekverade ett JavaScript via flash.external.ExternalInterface.call()-funktionen. Fick dock ett felmeddelande från Facebooks swf att detta ej var en giltig modul men min egna JavaScript-kod exekverades ändå #win! Totalt tog det tre timmar att hitta denna sårbarhet.

Rapporterade detta direkt till Facebook Security och inom några dagar var sårbarheten åtgärdad och mitt namn finns med i ”hall of fame”.

En stor eloge till Facebook som har detta program och uppmuntrar till att sårbarheter identifieras och åtgärdas. Andra företag såsom Google och Microsoft har insett fördelarna och startat egna program. Även så utbetalas en summa till de som hittar sårbarheter: Facebook exempelvis har ett minimum på 3300 SEK (500$).

Här kommer en skärmdump som är censurerad då min kod exekveras och som gör en alert() med meddelandet XSS:

Facebook XSS

Jonas Lejon Facebook Whitehat

5 reaktioner på ”Så hittade jag en säkerhetsbrist på Facebook

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *