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 »
Brian Krebs donosi o podatności w API firmy LocationSmart: it could be used to reveal the location of any AT&T, Sprint, T-Mobile or Verizon phone in the United States to an accuracy of within a few hundred yards. Sam autor znaleziska pisze wręcz o możliwości namierzania w czasie rzeczywistym lokalizacji „wszystkich” telefonów komórkowych w USA: I…
Czytaj dalej »
Około 40 świeżych, realnych przypadków podatności w API REST (niektóre raptem sprzed miesiąca), rekonesans API, omijanie restrykcji do metod HTTP, niebezpieczeństwa JWT, wycieki kluczy API, ponad 60 punktowa checklista ułatwiająca sprawdzić swoje API pod względem bezpieczeństwa, ćwiczenia warsztatowe – to tylko kilka punktów które realizujemy na naszych warsztatach z bezpieczeństwa API REST.
Czytaj dalej »