Opis
Zadanie polegało na interakcji z aplikacją webową przypominającą grę z nagrodami. Użytkownik może otwierać skrzynie, a każda z nich wywołuje zapytanie do API. Jedna z nagród zawiera ukrytą flagę — wystarczyło ją odnaleźć poprzez analizę działania aplikacji.
Rozwiązanie
- Znajdź legendarny przedmiot w kodzie HTML
W narzędziach deweloperskich przeglądarki (zakładka „Elements”/„Inspect”) można znaleźć element reprezentujący legendarny przedmiot. Jego atrybutdata-reward-idma wartość5231242. - Analiza działania API
W zakładce „Network” widzimy, że po otwarciu skrzyni aplikacja wysyła żądanieGETdo endpointu/api/cat/[id]. - Ręczne zapytanie do API
Można ręcznie wykonać zapytanieGET /api/reward/5231242, np. przez przeglądarkę lub narzędzia takie jak curl/postman, np.:curl https://skrzynie-z-kotami.hack4krak.pl/api/reward/5231242 - Odczytanie flagi
W odpowiedzi serwer zwraca dane, w których ukryta jest flaga.
Podsumowanie
Całość sprowadza się do znalezienia właściwego ID (5231242) i wywołania odpowiedniego endpointu. To klasyczny przykład zadania typu „security through obscurity”, gdzie backend zdradza więcej niż frontend pokazuje.