21

私はアプリケーションを持っています。私はすべての URL、パラメーター、http 要求の種類などを知っています (これが私のアプリケーションです)。

アプリケーションからのすべてのリクエストを傍受するにはどうすればよいですか? たとえば、ボタンを押すと、サーバーへのリクエストのテキストが表示されます。

タスク - 潜在的なハッカーからのリクエストを隠し、アプリケーションに代わってリクエストを実行するのを防ぎます。

4

4 に答える 4

0

私が理解している限り、あなたの質問は 2 つの問題で構成されています。

サーバーとクライアント間のトラフィックを検査する方法。

努力の増加に伴い、いくつかの可能性があります。

  • Logging : アプリケーションであるため、http 要求を呼び出す前に、クエリとパラメーターを含むログ ステートメントを挿入するだけで済みます。
  • リッスン サーバー側: アプリケーションであるため、サーバーも制御できます。tcpdumpなどのツールを使用 すると、トラフィックをダンプして後で分析することができます (例: Wiresharkを使用) 。
  • クライアント側のリッスン: クライアント内またはクライアントの「隣」でトラフィックを傍受したい場合は、burpsuiteを使用して、プロキシを使用するか、WIFI で直接トラフィックを傍受することができます。

クライアントだけがサーバーにリクエストできるようにする方法。クライアント認証で https を使用することをお勧めします。アプリでクライアント証明書を展開する必要があり、サーバーがクライアントの信頼性を確認する場合があります。ここでは、相互 SSL 認証の概要を説明します。

于 2012-10-31T08:03:07.490 に答える
0

質問でこれを行っている理由を実際には明確にしませんが、他の人にとっては、これを実行したい最も動機付けられる理由は、アプリが攻撃者の標的になっているのではないかと恐れたためです。誤動作の意図 (または他の RPC インターフェース)。

これを行うための最善の方法は、可能な限り制限されたインターフェイスをアプリに提示することです。一般向けのインテントまたは RPC インターフェイスがアプリを操作して不要な情報を送信することを許可しないでください。

さらに、サーバーに送信された HTTP 要求をログに記録できます (おそらくアプリ内のラッパーを介して HTTP 機能に)。問題は、クライアントのデバイスに情報が記録されたら、それをどうするかということです。アプリが何か「悪い」ことをしているときを正しく識別することはほとんど不可能であり、「悪い」ことの定義を前提としているため、これを追求するのは間違った道です。

したがって、ログに記録でき、HTTPS を使用できる場合でも、代わりに、攻撃者がアプリを操作して Web サービスにデータを送信するために使用できるすべての手段を調査する必要があります。実際にデータを送信する場所から始めてください。アプリを逆方向に進めます。

于 2012-10-31T08:17:23.213 に答える