JavaScriptのDate.parseの仕様
本当はQiitaに書こうと思ったが,不正確な内容が含まれるためこっちに書いた.
正直意味がわからない.
Google CTF 2016 Mobile Write-up
1問目はまずAPKをデコンパイルするとstrings.xmlにgithubのアカウント名が書いてあるのでそのユーザーのリポジトリをcloneする.
この人.
github.com
gitのログを見ると間違えてkeystoreを上げてしまっているコミットがあるのでそこまで戻す.
デコンパイルしたソースを読むとBroadcastReceiverでリクエストを受け取り結果を送ってくれるようなので,他のアプリからリクエストを送る.
同じkeystoreでコンパイルされたアプリからのBroadcastしか受信しないようになっているので,testAppをBroadcast発行アプリに書き換えて実行すれば,3つあるActivityの中の1つがFlagを返してくれるようになっている.
3問目はこのkeystoreのパスワードの文字列がそのままFlag.
2問目はkeystoreは関係していないが同じくBroadcastで通信を行う.単純ななSQLインジェクションが存在するので,flagカラムの文字列をLIKEを使って割り出してLog.dなどで出力するようにし,指定されたサーバーにアプリをアップロードすれば数分~数十分後にアプリをインストールするちょっと前から一定時間のログが吐き出されるので,出力したFlagを探せば良い.
CTF開始直後はアップロードしてサーバー側でログを出力する部分にバグが有り,アップロードしたものの最初の数分間はメッセージを含め何も出力されず混乱させた後,10分くらい後にログが吐かれていた.
しかしそのログが,アプリをインストールしてからBobbyApplicationを起動したちょっと後までのログのみで,自分のアプリは起動されておらず何かもうひと工夫必要なのかと考えさせられた.
実はただのバグだったようで,日本時間の昼頃には直っていた.キレた.
GitBucketのDBが壊れたので直した
SECCON 2015 オンラインCTF に参加した
参加しました.
続きを読むETロボコンのイノベーター部門のこと
この記事は,ETロボコン Advent Calendar 2015 7日目の記事です.
記事を書いている12/7現在,8〜11日目の担当がいないようなので,後輩にでも圧力をかけてみます.