Tytułowe pieniądze to nagroda w bug bounty, przyznana za znalezienie klucza API w jednym publicznych repozytoriów kodu Starbucksa: vinothkumar discovered a publicly available Github repository containing a Starbucks JumpCloud API Key which provided access to internal system information. Co można było uzyskać posiadając klucz do JumpCloud-a? Jeśli ktoś nie zna…
Czytaj dalej »
Instalujesz pod Windows oprogramowanie do obsługi video. Wszystko fajnie, tylko nieświadomie odpalałeś usługę działającą na localhost (port 7440), która z pośrednictwem mechanizmu WebSocketów wystawiała nieuwierzytelnione, pracujące z uprawnieniami SYSTEM API. API z kolei udostępniało ciekawy ficzer – umożliwiający uruchomienie dowolnej binarki. Całą akcję można zobaczyć na filmiku tutaj. Ubiquiti załatało podatność w wersji v3.10.7…
Czytaj dalej »
Ta podatność w GitHub-ie warta jest wspomnienia ze względu na kilka różnych ciekawostek. Całość dotyczy wydawałoby się bezpiecznego mechanizmu OAuth. Ale od początku, GitHub definiuje taki URL: https://github.com/login/oauth/authorize Realizuje on dwie funkcje – jeśli dostaniemy się tam GET-em otrzymujemy ekran logowania, z kolei POST wysyłany jest w momencie kiedy użytkownik…
Czytaj dalej »
Podatność wykryto w aplikacji Click to Pray sterującej urządzeniem IoT od Watykanu: inteligentnym różańcem: Jak donosi CNET, problem występował w mechanizmie tworzenia konta – należało podać e-mail, na który był wysyłany kod PIN (odpowiednik hasła). Wszystko w porządku, tylko operację można było wykonać ponownie (znając e-mail ofiary), a PIN był…
Czytaj dalej »
Chodzi o niby znaną od dłuższego czasu klasę Mass Assignment, która najwyraźniej przeżywa drugą młodość. Przesyłasz np. JSON-em dane nowego użytkownika do API, co jest mapowane na stosowny obiekt i zapisywane do bazy. Proste ale i niebezpieczne. Bo co się stanie, jeśli ktoś do JSON-a doda klucz „admin”: true ?. Będziemy…
Czytaj dalej »
Hasła, klucze API, pliki konfiguracyjne, pliki z hasłami i innymi poufnymi danymi. W sumie około 120 tego typu 'źródeł’. Czy te dane rzeczywiście są poufne? Wg ich właścicieli nie, bo udostępnili je publicznie na GitHub-ie (pozostaje pytanie czy w sposób świadomy). 'Filmik’ z wycieków, realizowany w czasie rzeczywistym dostępny jest…
Czytaj dalej »
Te wszystkie rzeczy na naszym zaktualizowanym szkoleniu z bezpieczeństwa API REST (prezentacja ma już czternaste rozszerzenie; treść cały czas jest uzupełniana o aktualne problemy!). Kurs przeznaczony jest przede wszystkim dla programistów / testerów – ale z wiedzy garściami korzystają też pentesterzy. Nie będziemy Was zalewać pozytywnymi opiniami o szkoleniu –…
Czytaj dalej »
Lepiej uczyć się na cudzych błędach… tym razem Hacker News donosi o wycieku danych przeszło 100 milionów użytkowników z największej (natywnie) indyjskiej wyszukiwarki Justdial: Dlaczego piszemy o takim dość egzotycznym przypadku? Otóż jest tutaj jedna lekcja do zapamiętania – dostępny od 2015 roku endpoint API był starym, obecnie nieużywanym mechanizmem. Jednak…
Czytaj dalej »
Wygląda to na klasyczny przykład wdrażania ciekawego produktu, z nieciekawym podejściem do bezpieczeństwa (czyli żadnym). Podatny sprzęt to australijski Tic Toc Track (w cenie $150 dolarów australijskich). W skrócie, urządzenie łączy się z w zasadzie niezabezpieczonym API. Mając dowolne konto, mieliśmy jednocześnie dostęp do każdej metody API. Np. takiej pobierającej wszystkie…
Czytaj dalej »
Przekonali się o tym deweloperzy jednej z kontrowersyjnych appek o dość nietypowym zadaniu – wskazywanie amerykańskich restauracji, gdzie bezpiecznie jest nosić czapkę z logo 'Make America Great Again’. Ale zostawmy politykę na boku. Appka napisana w React Native, zaszyty w niej klucz do API oraz adresy URI backendu: Oczywiście można było…
Czytaj dalej »
Niewiele trzeba było czekać na analizę ostatniego patcha wydanego przez ekipę Drupala. Jeśli mamy dostępne API RESTowe możemy wykonać taki request: POST /drupal-8.6.9/node/1?_format=hal_json HTTP/1.1 Host: 192.168.56.101 Content-Type: application/hal+json Content-Length: 286 { „_links”: { „type”: { „href”: „http://192.168.56.101/drupal-8.6.9/rest/type/node/article” } }, „type”: { „target_id”: „article” }, „title”: { „value”: „My Article” },…
Czytaj dalej »
Właśnie załatano krytyczną podatność w Drupalu. Wiemy na razie niezbyt wiele – na pewno można ją wykorzystać bez uwierzytelnienia oraz ma ona miejsce w module API. Warunkiem możliwości wykorzystania podatności jest prawdopodobnie udostępnienie / włączenie jakiegokolwiek API. Więc na szybko Drupal zaleca wyłączenie metod RESTowych: PUT/PATCH/POST (choć najlepiej podnieść do wersji…
Czytaj dalej »
Opis małej afery tutaj. Ciekawym jest fakt, że badacz poinformował USPS o problemie przeszło rok temu, ale nie doczekał się odpowiedzi. Poszedł więc do Briana Krebsa, który rozkręcił aferę. W API mieliśmy względnie klasyczne błędy autoryzacyjne, umożliwiające na dostęp do danych innych klientów: In addition to exposing near real-time data about packages…
Czytaj dalej »
Zobaczcie na opis tego błędu: „Getting all the CD keys of any game” mówi samo za siebie. Podatność istniała w API Steamworks, a dokładniej tutaj: partner.steamgames.com/partnercdkeys/assignkeys/ Wśród przekazywanych parametrów były: appid (ID gry), keyid (ID zbioru kluczy aktywacyjnych) oraz keycount (ile kluczy ma być zwrócone). Jeśli teraz podawaliśmy grę + np. pierwszy zbiór…
Czytaj dalej »
W skrócie, niezabezpieczone API Google+ umożliwiało nieautoryzowany dostęp do danych użytkowników: imię, e-mail, zawód, płeć, wiek. Podatny użytkownik najpierw musiał dać dostęp do swoich publicznych danych profilu dowolnej, zewnętrznej aplikacji G+ (niegroźne, prawda?). Ale dostęp był dawany również do pól prywatnych oraz do pól prywatnych przyjaciół: When a user gave…
Czytaj dalej »