Opis
Zadanie uruchamia małego Linuxa w przeglądarce przez v86 i pokazuje, że /proc nie jest zwykłym katalogiem z plikami, tylko widokiem na działające procesy systemu.
Flaga znajduje się w /root/flag.txt i ma uprawnienia 400, więc użytkownik ctf nie może jej odczytać bezpośrednio. W tle działa jednak proces maintenance-daemon, który dostał kopię flagi w zmiennej środowiskowej.
Środowisko procesu jest widoczne w /proc/<pid>/environ.
Rozwiązanie
Przykładowe rozwiązanie:
- Uruchamiamy emulator na stronie i czekamy na shell użytkownika
ctf. - Sprawdzamy procesy, np.
ps. - Znajdujemy proces
maintenance-daemon. - Odczytujemy jego środowisko:
cat /proc/<pid>/environ. - Ponieważ wartości są rozdzielone bajtem
NUL, wygodnie użyćtr '\0' '\n'.
Przykład:
ps
cat /proc/7/environ | tr '\0' '\n'
Flaga:
hack4KrakCTF{pr0c_fd_1s_a_w1nd0w}