Mógł przejąć dowolne konto na Instagramie. Wybrał jasną drogę i zgarnął ~100 000 PLN

15 lipca 2019, 10:07 | W biegu | komentarzy 5
: zin o bezpieczeństwie - pobierz w pdf/epub/mobi.

Laxman Muthiyah miał stanowczo dobry dzień – w ramach programu Bug Bounty Facebook’a otrzymał $30.000 za możliwość przejęcia dowolnego konta na Instagramie.

Gdy użytkownik zapomni swojego hasła, w ramach funkcjonalności odzyskania konta wysyłany jest 6-cyfrowy kod SMS. Potencjalny atakujący mógłby metodą siłową próbować wysłać milion zapytań HTTP – próbując wykorzystać każdą możliwą kombinację kodu:

Instagram broni się jednak przed takimi atakami, stosując Rate Limiting. Laxman jednak odkrył, że potrafi pominąć wspomniany mechanizm ograniczający wysyłanie dużej ilości żądań HTTP – wystarczy użyć trochę różnych adresów IP – blokada aktywowana była dopiero po wysłaniu 200 żądań. Nie było też problemu żeby się zmieścić z wszystkimi żądaniami HTTP w 10 minut (taka jest ważność kodu).

5000 adresów IP x 200 = 1 000 000 żądań – czyli maksymalna liczba kiedy trafimy dobry kod i resetujemy hasło.

–jz & ms

 

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Marek

    A czy to nie jest bardzo popularna metoda odzyskiwania hasła i można by zgłosić do bugbounty do wielu firm rozwiązując tylko równanie:

    ilość potrzebnych adresów IP = ilośc możliwych haseł jednorazowych / ilośc akceptowanych zapytań z jednego IP ?

    Przecież to żadne bug tylko zwykła matematyka.

    Za osiągnięcie uznał bym posiadanie bazy 5000 adresów IP i skoordynowanie zapytań ale to znowu nie ma nic do instagrama.

    Odpowiedz
    • Jedrek

      Tu bardziej chodzi o to że można walić nieograniczoną ilość kombinacji kodów odzyskiwania.

      Odpowiedz
  2. Emi

    @Marek, a jednak zapłacili

    Odpowiedz
  3. Rafał

    Marek, prawdziwym błędem było to, że możliwość wpisania kodu SMS nie została zablokowana po kilku próbach – niezależnie od adresu IP

    Odpowiedz
  4. Mateusz

    W normalnym przypadku miałbyś jakiś losowy i długi ciąg znaków, a tutaj był tylko 6-cyfrowy kod z tak dużymi limitami blokowania żądań…

    Odpowiedz

Odpowiedz