この記事は、Kogakuin Univ Advent Calendar 2017の16日目です。
もともとは○uportの脆弱性を報告した話を書く予定でしたが、とある事情から公開できなくなったので、急遽この記事を書いています。(○uportに関しては需要があればいつか書きます。)
まだ大雑把にしか書けていないので、詳細は今週中には更新します。
この記事はKogCoderのSECCON2017オンライン予選のWriteupです。
KogCoderは1000点で232位でした。
回答した問題は以下のとおりです。
Title | Genre | Point |
---|---|---|
Run me! | Programming | 100 |
putchar music | Programming | 100 |
Qubic Rube | Programming | 300 |
SHA-1 is dead | Crypto | 100 |
Powerful_Shell | Binary | 300 |
Thank you for playing! | Thank you! | 100 |
@uragouが解きました。
フィボナッチ数列の11011項目の下32桁を求めるプログラムですが、計算量が大きいので計算が終わりません。メモ化再帰等高速なプログラムを実装し実行すれば、答えが出ます。
フィボナッチ数列 - syttruの日記
この記事の出力部分を書き換えて上げれば出来ます。
SECCON{65076140832331717667772761541872}
This one line of C program works on Linux Desktop. What is this movie's title?
Please answer the flag as SECCON{MOVIES_TITLE}, replace all alphabets with capital letters, and spaces with underscores.
コードを保存しgcc putchar_music.c -lm
とするとコンパイルできます。
実行ファイルをaplayにパイプを繋いで実行すると、star warsの曲が流れるので、
SECCON{STAR_WARS}
がフラグです。
KogCoderメンバーはStar Warsを見たことがなかったので、最初はドラクエと勘違いしていました。
Please continue to solve Rubic's Cube and read QR code.
http://qubicrube.pwn.seccon.jp:33654/
@uragouRとペアプロで作りました。
恒例のQRコード問題です。
ルービックキューブにQRコードが書かれているので、完成させてQRコードを読み込むと次の問題のURLがわかります。50問解くとフラグが貰えます。
まともにルービックキューブを解いてもいいですが、QRコードの形になるものを考えると、
3つの角になる四角のあるものが3枚、
中央になるものが1枚、
辺になるものが4枚と、
残りの一つの角
に区別できるので、総当りしても1面辺り高々 通りなので、総当りでQRコードを読み込めるものを探しました。
50問目のQRコードがこちらです。
SECCON{Thanks to Denso Wave for inventing the QR code}
SHA-1 is dead
http://sha1.pwn.seccon.jp/
Upload two files satisfy following conditions:
1KiB = 1024 bytes
@uragouRが解きました
条件を満たすSHA1の衝突するファイルを作成し、アップロードするとフラグが貰えます。
sha1-collisionを使って作成しました。エラーが出ますが、無視して実行するよう変更すると、ファイルが作成できます。画像サイズを調整して指示にあったサイズのファイルを作成すれば終了です。
SECCON{SHA-1_1995-2017?}
Crack me.
powerful_shell.ps1-1fb3af91eafdbebf3b3efa3b84fcc10cfca21ab53db15c98797b500c739b0024
Power Shellのファイルが渡されます。
実行すると、このような画面が表示されます。
コードを見ると、その場でコードを生成して実行しているようなので、生成したコードを表示してみます。
すると、
というコードがあるのがわかります。これが音の周波数なことは自明なので、この順番に音を押していくと次へ進みます。
今度はパスワードを要求されるので、入力する必要があります。
こちらもコードを生成しているので、表示してみます。
難読化されていて読めないので、デバッガを使いながら実行していくと、
で比較しているのがわかるので、パスワードとしてこれを入力すると、フラグが得られます。
SECCON{POwEr$H311}
SECCON{We have done all the challenges. Enjoy last 12 hours. Thank you!}
Ctrl-c & Ctrl-v
SECCON{We have done all the challenges. Enjoy last 12 hours. Thank you!}