Dostał się do danych ~100 000 000 klientów Starbucksa. Dziurawa obsługa kart rabatowych dała mu $4000 nagrody :-)

22 czerwca 2020, 13:23 | W biegu | komentarze 2
: oglądaj sekurakowe live-streamy o bezpieczeństwie IT.

Ciekawe znalezisko w kontekście bezpieczeństwa API. Nieco zniecierpliwiony brakiem znalezisk w innym programie bug bounty, badacz postanowił sobie zrobić przerwę, a że były urodziny jego przyjaciela postanowił zakupić mu praktyczny prezent – kartę prezentową Starbucksa.

Zakup zakupem, ale można trochę pogrzebać w żądaniach do API. Np. taki endpoint zwraca szczegóły bieżącego użytkownika

Podejrzane może się trochę wydawać proxy. Jest to… proxy działające pomiędzy frontendem z systemem wewnętrznym Starbucksa:

proxy

A może udałoby się jakoś ominąć uwierzytelnienie odwołując się do endpointa, do którego mamy uprawnienia? Udało się ;) za pomocą path traversal:

Czyli tutaj mamy uprawnienia do: /v1/users/me/streamItems/web ale po przetworzeniu przez proxy, odwołujemy się de facto do /search Skąd taka dziwna ścieżka składająca się z fragmentów \..\.\..\ (zamiast ze zwykłych \..\) ? To ominięcie WAF-a. To było dla WAF-a podejrzane (blokował):

Ale tego już nie:

Wracając do core rozważań. Czym jest endpoint /search ? Wyszukiwarką wszystkich użytkowników (w bazie było ich ~100 000 000). I co więcej można stosować zapytania z filtrami – np. szukając specyficznego username:

Za znalezisko wypłacono nagrodę $4000 w ramach oficjalnego programu bug bounty.

–ms

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



Komentarze

  1. Ed

    A droga redakcjo szacunkowo za ile sprzedalby te dane na czarnym rynku?

    Odpowiedz

Odpowiedz