Jeśli nie ma „darmowego lunchu”, co powiesz na darmową kawę?
20 sierpnia 2019
Mając kilka godzin wolnego czasu, podczas francuskiego podziemnego wydarzenia dla hakerów, badacz bezpieczeństwa Baptiste Robert zdecydował się na filiżankę kawy z automatu.
A kilka godzin wystarczyło na wypicie kawy – w stylu hakera.
Kiedy zobaczył, że może płacić telefonem komórkowym za pośrednictwem aplikacji CoffeecApp na Androida lub iOS, Baptiste ujawnił prosty sposób, że nieetyczni hakerzy mogą ukraść konta innych użytkowników i dokonywać automatycznych zakupów na ich koszt.
Robert postanowił spojrzeć na rodzaj informacji wymienianych przez aplikację z serwerem dostawcy. Zaczął od utworzenia konta i sprawdzenia danych przesyłanych tam i z powrotem, w tym identyfikatora użytkownika, numeru telefonu działającego jako nazwa użytkownika.
Zresetowanie hasła logowania pokazało wartość nowego parametru o nazwie „UserUId”, który był taki sam jak identyfikator użytkownika. To wzbudziło jego zainteresowanie na tyle, aby utworzyć drugie konto i zainicjować procedurę resetowania, podając wartość „UserUId” pierwszego konta. Próba zakończyła się sukcesem.
To osiągnięcie nie pozwoliło mu jednak na przejęcie kont innych użytkowników, chyba że znalazłby sposób na wydobycie numerów telefonów zarejestrowanych w CoffeecApp. Robert naciskał jeszcze trochę, dopóki nie stwierdził, że aplikacja nie była chroniona przed brute-force, i że zasygnalizowała przetworzenie prawidłowej nazwy użytkownika.
„W pierwszym żądaniu złożonym podczas procesu resetowania aplikacja wysyła nazwę użytkownika, która jest równa numerowi telefonu, na ich serwer. Jeżeli istnieje, otrzymasz kod odpowiedzi 200”- wyjaśnia badacz.
„Jeśli wyślesz losową nazwę użytkownika, serwer powie „UserNotExists”.”
Te odkrycia pozwalają hakerowi bombardować aplikację numerami telefonów i znajdować te zarejestrowane w aplikacji. W połączeniu z procedurą resetowania hasła, atakujący może przejąć konta i wykorzystać dostępne środki na automatach obsługujących płatności za pośrednictwem aplikacji mobilnej CoffeecApp.
Może nie istnieć coś takiego jak „darmowy lunch”, ale najwyraźniej nie dotyczy to kawy w automatach.