🤔

SECCONにソロで参戦してみた(SECCON Beginners CTF 2025 Writeup)

に公開



きっかけ

ISUCONやWebSpeedHackathonに参加して次に何か参加できるのないかな~と探してみたところ、SECCONというのがあるらしいので参加してみました。
参加後はWriteupというものをやると良いとのことらしいので、とりあえず書いてみます。

Writeup大遅刻すいません…

Welcome

flagは書いてありました。
0点回避

FLAG:ctf4b{W3lc0m3_2_SECCON_Beginners_CTF_2025}
Value:100

web

skipping

Express.jsにリクエストヘッダーの認証を行っていそうな処理がありました。
以下のHTTPリクエストヘッダを加えてcurlしたところ、flagの文字列をゲット。

x-ctf4b-request: ctf4b" http://skipping.challenges.beginners.seccon.jp:33455/flag
FLAG: ctf4b{y0ur_5k1pp1n6_15_v3ry_n1c3}
Value:100

log-viewer

access.logとdebug.logに../../proc/self/envionという怪しいパスがあるので調べてみました。
ただenvionからは何も得られず。
ChatGPTに投げてみたところプロセスのコマンドライン引数にアクセスしてみなよ、Youと言われたのでアクセスしたところ、Flagが出てきました。

FLAG: ctf4b{h1dd1ng_1n_cmdl1n3_m4y_b3_r34d4bl3}
Value:100

crypto

問題文的にRSA方式の計算であることは分かったので、以下の計算式をp,q,n,cの値を当てはめてChatGPTに計算してもらいました。

1.異なる2つの大きな素数「p」「q」を任意にとる
2.n=pqとする
3.(p-1)(q-1)と互いに素な自然数eを任意にとる
4.edを(p-1)(q-1)で割った余りが1となる自然数dを任意にとる

参考記事:https://it-trend.jp/encryption/article/64-0056

計算式の解を使ってデコードするソースも一緒に出力してもらい、FLAGを発見。

FLAG: ctf4b{unb4l4nc3d_pr1m35_4r3_b4d}
Value:100

misc

金魚すくいの文字を選択して正しい文字(flag)を探すというゲームからflagを探す問題でした。
secret.jsの正誤判定に正しい文字列があると思ったので、ソースを調べるとthis.flagといういかにもなものがあったので作成している箇所を探しました。
ただ、なぜかここでconsole.logを使ってthis.flagを出力するという発想がなく、解くのに時間がかかってしまいました…
なぜか金魚すくいの文字とソースを全てGPTに投げて解読してもらうというとんでもないパワープレイをかましました。解けてはいるんですがもっとスマートに解きたかった…

FLAG: ctf4b{n47uma7ur1}
Value:100

reversing

CrazyLazyProgram1

改行されていないC#のソースでした。
フォーマッター使ってから解析するのだろうとは思いましたが、フォーマットと解析両方をAIに任せられるのか試してみたかったので、これもChatGPTに丸投げ。
すると、ソースのフォーマットと同時に特定の ASCII コードと一致するかを確認している処理まで解析してくれたので難なくFlagを発見。

FLAG: ctf4b{1_1in3r5_mak3_PG_hard_2_r3ad}
Value:100

pwnable

pet_name

バッファオーバーフローを起こせば何とかなりそうな問題文だったので、大量の文字列を与えてechoすることでFlagを発見。

echo "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/home/pwn/flag.txt" | nc pet-name.challenges.beginners.seccon.jp 9080
FLAG: ctf4b{3xp1oit_pet_n4me!}
Value:100

感想

こいつAIに頼りすぎだな???
ただ結構やる前は1問も解けないんじゃないかと思っていたんですが、全種類の問題を解くことが出来て良かったです。
後はあれですね、もう少し自力でFlagを見つけたい…(一部は解法見つけるまでは自力でやったりしてはいましたが)
やっていてかなり面白かったので、次も参加してみたいですね。

Discussion