Opis
Zadanie udaje klon cotozahit.pl: dla każdego dnia można odsłuchać krótki fragment piosenki i wysłać zgadywany tytuł. Flaga powstaje z pierwszych liter poprawnych tytułów ułożonych według numerów dni.
Jeśli ktoś zdobył flagę ręcznie, to gratuluję samozaparcia i współczuję psychice.
Rozwiązanie
- Otworzyć narzędzia deweloperskie (DevTools) i zidentyfikować endpointy API wykorzystywane przez aplikację.
- Za pomocą endpointu
/api/searchpobrać pełną listę dostępnych tytułów utworów. - Zauważyć, że endpoint
/api/guessnie posiada ograniczenia liczby prób. - Dla każdego dnia wykonywać atak słownikowy na endpoint
/api/guess, wykorzystując wcześniej pobraną listę tytułów. - Z poprawnych odpowiedzi wyodrębnić pierwsze litery tytułów i połączyć je w odpowiedniej kolejności, uzyskując flagę.
- Po połączeniu liter np. za pomocą prostego skryptu w Pythonie otrzymujemy flagę:
SSVMSJMAIŁWDŁBBAWGMPHAEWMNRWGDECCGBBŚPKAWSR"YMBCCDIJJJwkKTBMSVZAMDCAMDZPPBSCKZZTŻWSRWPPVKADKAMPCTBTT.