web-dev-qa-db-ja.com

平文のパスワード?

電話オペレーターのアプリの調査をしています。 MacでBurp Suiteをプロキシモードで起動してから、iPhoneでアプリを開き、トラフィックを盗聴し始めました。

「ログイン」ボタンを押したところ、これが起こりました。

Burp Suite

ユーザー名とパスワードは平文で表示されます。接続は実際にはHTTPSですが、HTTPSの場合、なぜユーザー名とパスワードをPOSTリクエストでプレーンテキストのパラメーターとして読み取ることができるのですか?

これは正常ですか?

また、curlコマンドを使用してログインプロセスを複製しようとしましたが、SSL証明書の検証をスキップする-kパラメータを使用した場合にのみ機能します。

何が起きてる?

26
marcomanzoni

プロキシモードのBurp Suiteは、それを信頼するすべてのシステムのHTTPSトラフィックを復号化できます。これは、独自の証明書を生成し、この証明書を使用して、インストールされているシステムの認証局として自分自身を登録することによって行われます。次に、HTTPS Webサーバーへのリクエストをプロキシするときに、HTTPSハンドシェイク自体を実行し、トラフィックを復号化し、認証局として自身によって署名されたWebサーバーの証明書を発行し、その証明書を使用してトラフィックを再暗号化し、両方を偽造して送信します証明書と再暗号化されたデータをクライアントに送信します。

これにより、Burp SuiteはHTTPSトラフィックを盗聴できます。通常のプロキシサーバーを使用するユーザー、またはBurp Suite疑似CAを信頼しないユーザーは、資格情報が危険にさらされることはありません。

38
Philipp

私はこれについて100%確信はありませんが、レビューしているアプリケーションに重大な脆弱性があることを浮き彫りにしていると思います。

通常、アプリケーションがhttpsを介して接続すると、アプリケーションは安全な接続を作成し、証明書がtrusted認証局によって署名されていること、それがまだ有効であり、場合によっては認証されていないことを検証します取り消されました。証明書は、HTTP接続が開始されるドメインに対しても有効である必要があります。

Burpは、SSLトラフィックを傍受するための無効な証明書を生成します。あなたが述べたように、curl、および安全な他のアプリケーションは、証明書がntrusted CAによって署名されていることに気づき、それに応じて動作します。ブラウザは重大な警告を表示し、curlはエラーステータスで終了します。

アプリケーションが適切に動作せず、証明書が無効でも接続する場合、自分などの攻撃者が接続を傍受してさまざまなことを行うことができます。たとえば、パスワードを盗んだり、アプリケーションが自動更新されたりすると、任意のコードが実行されます。お使いのコンピュータ。

これは、アプリケーションによる警告を受け取って無視しなかった場合にのみ適用されることに注意してください。

1
droope

きっと良くないですが、今のところは正常です。サーバーにハッキングされた攻撃者がサーバーのソフトウェアを変更して資格情報を保存できるため、これは良くありません。または、たとえばmitmを使用して、httpsを復号化できる攻撃者がパスワードを取得する可能性があります。認証プロトコルと呼ばれる30年以上に渡って存在するソリューションがありますが、残念ながらそれらは使用されていません。ゼロ知識認証プロトコルは20年以上存在していますが、まだ広く使用されていません。なぜこれらの古いパスワードを使用するのか、私にはわかりません。

ところで、アプリ開発者は公開鍵の固定を実装する必要がありますが、これは行われていません。

0
KOLANICH