dodany: 28.06.2013 | tagi: , , , ,

Autor:

Facebook płaci za poważny błąd

0

Angielski badacz bezpieczeństwa kryjący się pod ksywką fin1te odkrył poważny błąd w Facebooku, który pozwalał na przejęcie dowolnego konta i to w dodatku bez konieczności interakcji ofiary! Prawdziwie personalia analityka to Jack Whitten – w zamian za zgłoszenie problemu, otrzymał honorarium w wysokości 20 tysięcy dolarów US.

Słabość tkwiła dokładnie w skrypcie /ajax/settings/mobile/confirm_phone.php, który działa z dwoma zmiennymi: code oraz profile_id. Pierwszy z nich jest potwierdzeniem wysyłany przez SMS na numer użytkownika, natomiast drugi jak nie trudno się domyślić jest indywidualnym numerem profilu użytkownika.

Sęk w tym, że do skryptu można było podstawić dowolną wartość profile_id, gdyż owy skrypt, po prostu nie werfyfikuje zgodności numeru profilu z podanym numeru telefonu.

Odkrywca tego problemu przeprowadził test polegający najpierw na wysłaniu „esemesa” o treści na numer telefonu 32665 – owy numer jest zależny od regionu danego użytkownika (w tym wypadku numer ten dotyczy Wielkiej Brytanii).

Później otrzymany 8-znakowy kod weryfikacyjny podstawiamy do skryptu confirm_phone.php, oczywiście modyfikując parametr profile_id. 

Facebook naprawił ten problem w dniu dzisiejszym. Bezpiecznie mogli się czuć w tym wypadku użytkownicy, którzy nie podawali swojego numeru telefonu. Dziwi jednak fakt, że programiści FB przeoczyli tak oczywisty fakt, jak weryfikacja powiązania ID z numeru telefonu i wysłanym na niego kodzie aktywacyjnym.

Redaktor działu aktualności WebSecurity.pl. Pasjonat komputerów od czasów epoki "bezmyszkowej".

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *