Harekaze CTF 2018やってみた

久しぶりにCTFやれる、まとまった時間が作れたので参加してみた。全体での順位は230ptで131/447だった。修行が足りなすぎる。 ObfuscatedPasswordChecker 配布されるsrc.zipを展開してみるとhtmlファイルとjsファイルが含まれている。htmlファイルをブラウザで開いてみるとパスワードフォームが表示される。ここに何かの入力値を入れると、何か起きそうだと考えた。 試しに開発者ツールのNetworkタブを開きながら、適当な文字列を入力してボタンをおしてみる。タブ内に変化はなく、リクエストは送信されていないと分かる。つまり、このhtmlとjsで構成されるクライアント側で完結するアプリだと考えられる。 次に、JavaScriptの挙動を追跡してみる。ブラウザの開発者ツールから「ボタンが押された時」に関するイベントを探してみる。 bundle.jsの1行目にボタンを押した時の処理があることが分かる。実際にbundle.jsを表示して整形してみる。 次にボタンが押された時に、「入力値がどのように判定されているか」を調べてみる。ボタンが押された後の処理は311行目から319行目までの範囲にかかれている。 この中にif文がふくまれている。このソース全体は軽めな難読化がされているのでif文の内部の処理を分析してみる。 ブラウザのConsoleで変数やメソッドなどを展開できるので、これを使って値の中身を確認する。するとsuccessという文字列が314行目で代入されていることが分かる。次に315行目ではcongraz!... Read More

burningCTFのwrite-upを書いてみる

burningCTFのWrite-Upを書いてみる。 解いたのは去年で今年は1問も解いてないから覚えていない問題も多少はある。去年の段階で70位くらいだったのに最終的に78位だったからちょっとダメだった気がする。 芸術 「... Read More

サイバー甲子園 (SECCON 福島大会 2015)に出場した(Write-Up) #SECCON

サイバー甲子園(リンク)に出場したのでWrite-Upを書いてみる。 チームメンバーは、自分(http418)と相棒(teapot)の2人。 チーム名のHTCPCPが呼びにくそうだったから次回は名前を変えたほうがいいかも。 Q5.... Read More