Beskrivning
Du har precis exploaterat en tjänst och fått ett root-shell på maskinen, det enda som är kvar är att skriva ut flaggan i /flag.txt!
Lösning
Vi har ett root-shell på maskinen, men när vi försöker köra cat /flag.txt så får vi felmeddelandet /bin/sh: cat: not found.
Det verkar som att det saknas en hel del grundläggande verktyg på systemet. Vi kan dock se att echo fungerar:
/ # echo "Hello, world!"
Hello, world!
Vi kan försöka att läsa innehållet med hjälp av lite bash-scripting. Vi kan använda en while-loop för att läsa filen rad för rad:
while IFS= read -r line; do
echo "$line"
done < flag.txt
Kör vi detta så får vi ut följande:
Men oj, det fanns visst en escapekaraktär som rensar skärmen i filen strax efter flaggan!
För att undvika att skärmen rensas så kan vi prova att endast skriva ut n antal rader från filen. När vi kommer till rad fem får vi ut flaggan.
i=0
while IFS= read -r line; do
echo "$line"
i=$((i+1))
[ "$i" -ge 5 ] && break
done < flag.txt
Den här file innehåller flaggan.
Den är bara några rader ner!
exit
cratectf{det_är_ändå_rätt_nice_att_ha_lite_shell_utilities}
Flagga: cratectf{det_är_ändå_rätt_nice_att_ha_lite_shell_utilities}