APP STROREではライブ配信されていません。 証明書はAppleの内部ツールによってもはや忘れられず、もし差し替えられれば対応するAPPはデフォルトで削除されます。
ここではキャプチャパッケージのIOS APP HTTPSパッケージについて話しましょう
ダウンロードおよびインストール:CHALESPROXY
http://www.charlesproxy.com/
並べる
Charles、メニュー -> プロキシ -> プロキシ設定でHTTPプロキシおよびSSLプロキシを有効化・設定できます。図に示す通りです:
HTTPプロキシ設定についてですが、ポート番号は8888であることを覚えておいてください。
前述の通り、本記事の焦点はトラフィックハイジャックではありませんトラフィックハイジャックはどのように起こるのでしょうか?この例では、チャールズはトラフィックを乗っ取る代理として直接使われています。 および用途SSLプロキシiPhoneデバイスのHTTPSリクエストに対する中間者攻撃をシミュレートし、誰もが中間者攻撃手法について考え理解し、開発中の類似攻撃を防ぐ方法を理解できるようにします。 1) チャールズがエージェントを仕組む Charles、メニュー -> プロキシ -> プロキシ設定でHTTPプロキシおよびSSLプロキシを有効化・設定できます。図に示す通りです: HTTPプロキシ設定についてですが、ポート番号は8888であることを覚えておいてください。
SSLプロキシ設定では、locatio{filtering}nsでSSLプロキシを行うドメイン名を設定できます。ここではBaiduのBaifubao*.baifubao.com がシミュレーションオブジェクトとして使われています。
2) iPhone側にHTTPプロキシを設定する Macで現在のマシンのIPアドレスを取得してください: IFCONFIG EN0:
簡単な方法もあります。メニューバー上部のオプションボタン+Wi-Fiネットワークアイコンをタップすると、
現在のコンピュータのIPアドレスは192.168.199.249であることがわかります。 iPhoneをパソコンと同じWiFiに接続してください。iPhoneの設定で:Wi-Fi -> 接続されたWiFiの右側にある情報アイコン -> HTTPプロキシ -> マニュアル -> HTTPプロキシを設定する:
セットアップが完了したら、Safariを開きウェブページを開き、初めてプロキシを設定すると、CharlesがiPhoneのリクエストプロキシの確認ボックスをポップアップし、「許可」をクリックします。 その後、チャールズのiPhoneでHTTPリクエストを確認できます。 Mac上でリクエストが多すぎてプロキシされたiPhoneでのHTTPリクエストの閲覧やデバッグに影響しないように、Charlesのメニュー「->プロキシ->」でMac OS Xプロキシのチェックを外すことができます。 もしあなたが委任されている目的地のURLにアクセスしているとしますhttp://www.baifubao.comそうするとウェブページを開けなくなります。 iPhoneのHTTPSリクエストはチャールズに傍受されましたが、iPhoneはチャールズの証明書を信頼できず、SSLハンドシェイクが失敗しHTTPS接続が確立できません。
3) 偽造証明書の偽造 iPhoneのSafariをプロキシとして開いたりアクセスしたりするhttp://www.charlesproxy.com/getsslチャールズのルート証明書を含むディスクリプタファイルのインストールインターフェースが表示されます。
注意:このCharles証明書はCharlesに組み込まれており、証明書を保存して直接「Help -> SSL Proxying」メニューでインストールできます。 インストール済みのプロファイルはiPhoneデバイスの設定 -> Universal->プロファイルで閲覧・管理できます。 インストール完了後、Charlesルート証明書はシステム内の信頼証明書リストに追加され、この証明書を使って発行されたサブ証明書もシステムによって信頼されます。 Charlesは、以前のSSLプロキシ設定で設定されたドメイン名に対してSSL証明書を作成し、偽造証明書を偽装します。 Mac SSLプロキシを使って以下の点を確認できます:
4) 結果の検証 Baiduアプリをダウンロードし、アカウントにログインしてMy ->My WalletでBaifubaoにアクセスできます:
HTTPSリクエストパッケージの内容が正常に取得されたことを確認してください。 ここから推測すると、アプリはシステムのデフォルトの検証方法を使用していると推測できます。システムは中間者サーバーから返されるSSL証明書を信頼し、アプリもこの認証を信頼し、SSLハンドシェイクは成功します。 サーバー証明書のローカルクロスチェックはありません。 これは今日多くのアプリに存在するセキュリティリスクです。
|