SSLストリッピング攻撃の詳細のいくつかの明確化を探しています。
私の現在の理解はそれです:
攻撃者は被害者とサーバーの間に座ります。
攻撃者が被害者からHTTPリクエストを受信すると、攻撃者はHTTPSを使用してリクエストをサーバーに送信します
攻撃者がサーバーから応答を受信すると、HTTPSリンクを取り除き、HTTPを使用して応答を被害者に転送します
これらは私が欠けている詳細の一部です:
サーバーから攻撃者への応答はHTTPSで行われ、暗号化されます。攻撃者はコンテンツを読み取ってHTTPSリンクを取り除くことができますか?
サーバーからの応答の本文でHTTPSリンクが取り除かれていますか?
応答を被害者に転送する前に、応答ヘッダーの何かを変更する必要がありますか?
あなたの理解は正しいです。
これは、攻撃者がHTTPS通信を確立したため、Webサーバーからの応答が受信されると、復号化されて被害者に転送されます。
はい、本文のすべてのHTTPSリンクは、Location
ヘッダーとしてHTTPリンクに置き換えられます。
sslstripは応答ヘッダーを分析し、
accept-encoding
を削除します
これは、リクエストを分析するときに攻撃者がクライアントからのすべてのリクエストを解凍および再圧縮する必要がないためだと思います。
if-modified-since
を削除します
これは、ページが変更されていなくても、クライアントがサーバーに完全なリクエストを行う必要があるためです。それ以外の場合、サーバーへの完全なリクエストはなく、傍受するものもないため、このヘッダーを削除する必要があります。
cache-control
を削除します
これはif-modified-since
と同じ理由で、クライアントはキャッシュからページをロードしようとせず、サーバーへのリクエストに対して完全なリクエストを行わないようにします。
Location
ヘッダーのリンクをHTTPに変更1:攻撃者はどのようにして暗号化されたメッセージを読み取ることができますか?
攻撃者は被害者ではなくサーバーに直接接続しているため、サーバーは攻撃者との暗号化を設定します。
2:メッセージの本文からリンクが削除されていますか?
はい。攻撃者は既にプレーンテキストバージョンを読み取ることができるため、これは簡単です。
3:応答ヘッダーを変更する必要がありますか?
おそらく違います。ただし、これは単純なプロキシサーバーを設定するだけではない追加の作業であるため、攻撃者がサーバーのヘッダーを直接被害者に転送することはほとんどありません。