Hi,
Chciałbym podziękować Hubertowi za pomoc w przygotowaniu obudowy do zadania „NFC Flag Market” na
justCTF 2024 Finals, konkursie który organizowałem z teamem
justCatTheFish który odbył się w ten weekend na hackathonie
HackYeah na Tauron Arena.
Obudowa wyglądała tak:
Obudowa była nam potrzebna, żeby umieścić w niej telefon z Androidem, który robił za skaner i writer kart NFC do zadania.
W zadaniu zaimplementowany był "sklep z flagami", w którym można było kupić losową flagę za 10 coinów lub właściwą (która dawała punkty drużynie) za 1337 coinów.
Gracze dostawali kartę NFC, która przy skanowaniu albo kupowała flagę na którą nas było stać (losową lub flagę justCTF) albo resetowała konto do 100 coinów.
Poniżej wrzucam też kilka zdjęć z samego eventu, oraz prezentację z informacją o części zadań z konkursu. A jeszcze niżej, spoiler/informacje o zadaniu NFC Flag Market ;).
--- [SPOILER] ---
Samo zadanie zaimplementowaliśmy jako strona internetowa, która korzystała z
Web NFC, experimental API które jest dostępne między innymi (albo prawie tylko) na Android Chrome.
W NFC Flag Market w obudowie był telefon z Androidem który miał otwartą przeglądarkę na stronie z zadaniem (właściwie to
PWA, żeby strona wyświetlała się w fullscreen). Obudowa była potrzebna, żeby gracze nie mogli dostać się do strony, poznać jej kodu czy blokować jakąkolwiek interakcję z telefonem. Sam telefon działał jako czytnik/writer nfc.
W zadaniu chodziło o to żeby tak zmodyfikować dane na karcie, żeby zwiększyć swoje środki oraz naprawić checksume crc32 która była na końcu danych. Aby dowiedzieć się, które dokładnie bajty należało zmodyfikować, gracze mogli kupić 1-2 razy losowe flagi i zdumpować dane z karty, a następnie zbadać, które bajty się zmieniły i jak.
Może brzmi to naiwnie, ale takie dziurawe systemy ofc zdarzają się na żywo ;).
A
tu prezentacja z info o innych zadaniach oraz zwycięzcach konkursu.
---
Dzięki jeszcze raz Hubertowi za pomoc ;).