0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SECCON Beginners CTF 2019 Writesup

Posted at

SECCON Beginners CTF2019に参加したのでWritesupを記載します
スコアサーバー
https://score.beginners.seccon.jp/challenges

[warmup] Welcome

ctf1.png
問題文に記載がある通り、https://webchat.freenode.net/?channels=seccon-beginners-ctfにアクセスするとフラグがある。

ctf2.png

FLAG:ctf4b{welcome_to_seccon_beginners_ctf}

containers

ファイルをダウンロードし、fileコマンドで判定すると、dataと表示される。
バイナリエディタ等で確認するとPNGファイルが連結されたファイルだとわかる。
(赤枠部分がPNGファイルのマジックナンバーである)
ctf3.png

そのため、ファイルが埋め込まれていると判断し、ファイル抽出するコマンドforemostで抽出すると以下のPNGファイルを得ることができるので、フラグがある。
ctf4.png

FLAG:ctf4b{e52df60c058746a66e4ac4f3fdb6fc81}

[warmup] Seccompare

ファイルがダウンロードされるので、fileコマンドで確認するとELFと表示される。
単に実行すると、使い方が表示される。

# ./seccompare
usage: ./seccompare flag
誤ったフラグを引数に渡すと、以下の表示がされる。
./seccompare 888
wrong

該当ファイルをIDAで解析するとs1が引数で渡した文字列、S2がプログラム内で定義しているフラグの文字列を比較した結果、合っている場合にはCorrect、間違っている場合には、wrongを表示する。
ctf5.png

S2の文字列部分をASCIIコードに当てはめてるとフラグが得られる。
FLAG:ctf4b{5tr1ngs_1s_n0t_en0ugh}

以下は、途中まで行ったものと最終的に回答が得られなかった

[warmup]Ramen

ラーメン屋のWebサイトが表示される。真ん中のSeachで店員が検索できるようだ。
一部の文字でも検索できるため、LIKE句を用いたSQLを発行しているようだ。
;を入力すると、エラーが出力されるため、SQLInjectionを行うことを試みる。
SQLInjectionを調査するツールsqlmapで確認するとテーブル内にflagという名前のテーブルがあることを確認できた。ただ、columnが取得できなかったため、回答が行えず。
おそらく、UNION SELECT~で結合して出力する回答だと思われる。

[warmup] So Tired

回答すると長い文が出力される。一番最後が==のため、base64でエンコードされているものと判断し、デコードしたものを保存すると、zlib compressed dataと表示される。
解凍処理を行ったが、うまく解凍されなかったため、回答できず。

Dump

ファイルをダウンロードして、fileコマンドで確認すると、tcpdumpファイルと表示される。
解析すると、以下のURLが発行されていることがわかる。
/webshell.php?cmd=ls%20%2Dl%20%2Fhome%2Fctf4b%2Fflag
/webshell.php?cmd=hexdump%20%2De%20%2716%2F1%20%22%2502%2E3o%20%22%20%22%5Cn%22%27%20%2Fhome%2Fctf4b%2Fflag

デコード後、以下の文字列になることになる。
/webshell.php?cmd=ls -l /home/ctf4b/flag
/webshell.php?cmd=hexdump -e '16/1 "%02.3o " "\n"' /home/ctf4b/flag

Webサーバに対して、lsコマンドを発行後、その後、hexdumpで16バイトずつ 0詰め3文字表示 改行を行うこととなっている。
そのため、hexdumpの出力をバイナリに戻したのち、フラグが得られると思われるが、その部分の実装を行かった。

感想

久しぶりに行ったが、やはり最後までやり遂げる力が必要だと思われる。
特にhexdumpの逆部分はpython等で実装できると思われるので後程試してみたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?