Kategori
Övriga
Beskrivning
Kör kommandot för att få flaggan.
curl http://challs2.crate.nu:38994/ctf.sh -so - | bash
Lösning
Om man hämtar scriptet utan att skicka vidare det till bash så får man ut följande script.
#!/bin/bash
function connection_error()
{
echo "No connection to Crate CTF servers, exiting..."
exit 1
}
echo Checking connection to Crate CTF servers, please wait...
ping -c 5 127.0.0.1 > /dev/null 2>&1 || connection_error
# If there's a lot of "^@" below, remove them using: cat script.sh | tr -d "\0" > script.sh
# This is the benign version of the script, which should mean that you are viewing
# its source instead of piping it to bash. Good job!
# You should always download and examine a script before running it!
echo Welcome to the Crate CTF flag decryption service!
flag="pengrpgs{phey_gb_onfu_rirelguvat_zvtug_penfu}"
alphabet=abcdefghijklmnopqrstuvwxyz
rot=13
echo "Decrypting flag: ${flag}"
echo ""
sleep 2
for i in $(shuf -i 0-$((${#flag}))); do
echo $flag
flag_char=$(echo ${flag:i:1} | sed "y/${alphabet}/${alphabet:$rot}${alphabet::$rot}/")
flag="$(echo $flag | sed "s/\(.\{$i\}\).\(.*\)/\1$flag_char\2/")"
sleep 0.1
printf '\e[A\e[K'
done
echo $flag
Tar man ut den krypterade flagga och kör rot13 på den så får man ut den korrekta flaggan cratectf{curl_to_bash_everything_might_crash}