Principe:
Exploiter gdb pour accéder aux file descriptors d'un programme en cours de débug, et en lire le contenu (le flag)
Infos (cf menu latéral):
🚩 Flaggué! +20 points gagnés —
FCSC{da8ae129af8512620bc6c9a711392395fba426edc6713819c1baffe004024ff2}
Le challenge
Le programme
gdb. On demande les info files
flag.txt, on va donc lancer le programme run après avoir mis un break main pour stopper au début du programme
si) mais comme c'est long, on c continue, et le programme segfaultLes file descriptors
flag.txt s'y trouve
shell lsof -p 5262 (équivalent en gros à shell -ls /proc/PID/fd/) ne donne rienLe bon moment
ni +800 (800 instructions) et je trouve un handler ouvert vers le fichierPourquoi 800? Au pif. J'ai essayé 500, rien, 1000, trop loin, 800… réussi!
Je ne sais plus si on pouvait accéder au flag directement via shell /bin/bash, mais il me semble que le fichier du flag n'était pas accessible de notre utilisateur (uniquement de l'utilisateur sous lequel le programme "Password Manager" s'exécutait).
Cela pourrait toutefois être une autre façon de résoudre le challenge.
Flag: FCSC{da8ae129af8512620bc6c9a711392395fba426edc6713819c1baffe004024ff2}