問題
解いてみた
この問題を解く前に、もっと前に一つ飛ばしていた問題があったので、それから解きます。
2Warm - Points: 50
10進数を2進数に変換する問題です。
さて本来の問題に戻ります。
sourceを見てみます。
((void (*)())buf)();
で頑張る系のやつです。
サーバを確認します。
さっきのを頑張ってflag.txtを表示するやつです。
picoCTF 2018 shellcode - Points: 200
と一緒の解き方でできます。
実行ファイルのビットを確認します。
32bitだということが分かりました。
shellcodeを調べます。
http://shell-storm.org/shellcode/
ここら辺がよさそうでしょうか。
これをコピーします。
(echo -e "XXXXXXXXXXXXXX";cat) | ./vuln
のXXXのところにコピーした文字列を入れて実行します。
実行後入力状態になったら
cat flag.txt
を入力します。
できた。
50点問題がまだ続くのでここで一気にいきます。
practice-run-1 - Points: 50
ファイルをダウンロードして、「pico」で検索。
unzip - Points: 50
ファイルをダウンロードして、解凍して画像を表示させる。
フラグが書かれているので、そのまま入力する。
vault-door-training - Points: 50
英語が長すぎてよく意味がわからないので、javaファイルをダウンロードします。
怪しげな文字列があったので、入力してみたらこれが正解でした。
50点問題はここで終了です。
それにしても1点問題はよくわからん。