web-dev-qa-db-ja.com

iOSシミュレーター-キーチェーンのコンテンツを表示

アプリケーションのユーザー名とパスワードをiOSキーチェーンに保存しています。 Appceleratorを使用してアプリケーションを開発しており、次の module を使用しています。 APIを使用して、デバイスとシミュレーターの両方ですべてのCRUD操作を実行できます。

キーチェーンの侵入テストに関するブログやトピックをいくつか読んだ後、キーチェーン情報がSQLデータベースに格納されていることを知りました。私の目的は、この特定のデータベースを見つけて、その内容を読むためにオープンにすることです。情報がそこに格納されていることを確認したい(データが暗号化され、すべて意味不明なものになる)が、アクセスグループを指定する識別子が存在することを期待しています。

データベースを開き、テーブルをチェックして、コンテンツがそのテーブルに保存されていることを確認したいだけです。脱獄したデバイスがないので、iOS 9.3シミュレータでこのタスク全体を実行します。

10
Soumya

特に暗号化された意味不明なコンテンツを表示する準備ができていることを念頭に置いて、これはそれほど難しいことではありません。

単純に~/Library/Developer/CoreSimulator/Devicesフォルダーに移動し、アクセスしたいキーチェーンを持つ目的のシミュレーターのUUIDを見つけます。シミュレーターに属するUUID名のフォルダーを見つけたら、そのフォルダー内に移動し、data/Library/Keychainsフォルダーに移動します。

そこに、探しているSQLiteデータベースファイルであるkeychain-2-debug.dbファイルがあります。

その後、 http://sqlitebrowser.org/ のようなツールを使用してデータベースを参照します。

SQLite browser

このツールでデータベースを開き、Browse Dataに移動してテーブルのgenpを取得したときに、キーチェーンに書き込んでいたものを見つけることができました。その後、agrp列フィールドの値を確認します。これは、キーチェーンデータベースに誰がそのエントリを書き込んだかを示しているためです。アプリでTEAMID.com.your.app.bundle.idの値を見つけると、アプリで記述したものが見つかります。

乾杯

49
uerceg