GW初日に友人と半日くらい参加していた
team:hona 112/441
grepするだけだった
WarmUp> strings UUTCTF.htm| grep "UUTCTF{"
<p style="color:rgba(255, 0, 0, 0.001);">The Flag is: UUTCTF{P0SCon: Welcome to UUTCTF! Happy hacking ;)}</p>
check_jpgでチェックするとText Lawyer Nameに含まれていた。
can_you_see_me
とあるのでFLAGじゃないのかと思ったが、投げてみると通った。
docker run -it --rm -v $(pwd):/data dominicbreuker/stego-toolkit /bin/bash
root@66192f67e402:/data/ctf/uuctf/fore# check_jpg.sh Layers.jpg | grep uutctf
Text Layer Name : uutctf{can_you_see_me}
Text Layer Text : uutctf{can_you_see_me}
Javascript Obfuscatorっぽい難読化コードが渡される。
デバッガが止められたりして面倒だったが、最初の部分のBase64を全部デコードしたところ
...
36f1e354a86627284b4246566f6a7823,Flag is: MD5(127.0.0.1),mKQZG,chBim,log,
...
という部分があったので 127.0.0.1
をMD5にして投げたら通った。
結局解けなかった
usernameの部分に 'or 1 ; --
を設定するとSQL Injectionが可能で、CookieにAdminTokenというのが設定され Sorry, You must be admin to find the flag! Are you tired? Eat some cookies ;)
と言われるがよく分からず、それ以降はBlind SQL Injectionをしていた。
結局userテーブルに存在するuserというユーザーのパスワードがmd5でハッシュ化された123
ということがわかっただけで、それ以降の進展は無く終わった。
他のwriteupを読んだところAdminTokenをtoken
の部分に設定してPOSTするだけで解けたらしい。勿体ないことをした。