Google CTF 2016 Mobile Write-up

1問目はまずAPKをデコンパイルするとstrings.xmlgithubのアカウント名が書いてあるのでそのユーザーのリポジトリを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が壊れたので直した

Tomcatのプロセスが予期せず終了したのが原因でGitBucketのデータベースが壊れた.
状況としてはこの記事と同じ.

rela1470.hatenablog.jp

この記事では最後に

$ mv data.mv.db data.h2.db

をしているが,それをしなければ一応は動くはず.
ただ,READ_CLOB_DBがある行を全て削除しているので,SSHキーの設定などが消えてしまう.ここをなんとかしたのでそのメモ.

続きを読む

ETロボコンのイノベーター部門のこと

 この記事は,ETロボコン Advent Calendar 2015 7日目の記事です.
 記事を書いている12/7現在,8〜11日目の担当がいないようなので,後輩にでも圧力をかけてみます.

続きを読む