セキュリティ・キャンプ 全国大会 2018を振り返って #seccamp

セキュリティ・キャンプへNOCチューターとして参加しました。NDAに触れない書ける範囲でやったことなどを書いておきます。 準備 会場ネットワークは建物の回線引き込みが終わっている段階から関わりました。建物にあるEPSの配線を変更したり、Wi-FiのAPを設置したりしました。各部屋での疎通確認や掲示物作成にも取り組みました。 電気配線シャフト... Read More

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

Webのセキュリティで注意したいポイントと脆弱性

この記事はseccamp2017 Advent Calendar 2017 の10日目です。記事の執筆から逃げていたら担当日が終わりそうで焦りながら書いています。 WebセキュリティではXSSやSQLi,... Read More

Click Jackingを検証してみた

キャンプで頂いた「脆弱性診断スタートガイド」という書籍に載っていた「クリックジャッキング」という攻撃手法を検証してみました。 クリックジャッキングとは、正規のWebサイトの機能をユーザが意図しない形で実行させることができる手法です。例えば、会員登録型サービスにおける退会処理をゲームに見せかけたページで実行させるなどが可能です。 以下では、実際にサンプルを作成してその効果について検証してみました。 見ただけでは単なるPLAYボタンが表示されているサイトにしか見えません。しかし、opacity=0のチェックを外すとiframeが出現します。 実はこのiframeはチェックがついていたときも存在しています。しかし、チェックが入っていたときは透過させることで見えない状態になっていました。 この攻撃手法では攻撃者が用意したページに正規のサイトを透過して最前面におくことで、ユーザが意図しない形で処理を実行させることが出来ます。例えばCSRFが存在しなくてもこの形式であればCSRF対策用トークンを取得した状態で確定を行うことも可能ではないかと思いました。 ソースはGithubにあげました。よかったらスターお願いします。 tomoyk/clickJackingSample:... Read More

LACのJSOC見学会に参加した

国内で早い段階からセキュリティに取り組んでいるLACのSOCであるJSOCの見学会に参加した。見学会に申し込んだきっかけはScanNetSecurityの記事とLAC公式のリリースだったと思う。 リニューアルされた「JSOC」運用開始前に潜入... Read More

セキュリティ・キャンプ 全国大会 2017を振り返って #seccamp

VPS借りてチューニングしていたらブログ構築だけで1週間近くかけてしまいました。少し遅めではありますが振り返り記事を書きました。 内容についてあまり書けないので感想がメインになっています。文体が統一されていないのと文章力のNASAは気にしないでください…(泣) 受けた講義 C1... Read More