Shikata Ga Nai

Private? There is no such things.

Weak Cryptography Leads To Open Redirectを訳してみた

Hello there, ('ω')ノ

 

脆弱な暗号化によりオープンリダイレクトが発生するを。

 

脆弱性:

 オープンリダイレクト

 

記事:

 https://medium.com/bugbountywriteup/weak-cryptography-leads-to-open-redirect-3fe052c12995

 

オープンリダイレクトの脆弱性は、アプリケーションが安全でない方法で

ユーザ制御可能なデータをリダイレクトのターゲットに組み込むときに発生して。

攻撃者は、アプリケーション内で任意の外部ドメインへのリダイレクトを

引き起こす URL を構築する可能性があり。

この動作を利用して、アプリケーションのユーザに対するフィッシング攻撃を

容易にすることができ。

正しいドメインをターゲットにし、有効な SSL 証明書 (SSL が使用されている場合) を

使用して、本物のアプリケーション URL を使用できる機能は、

多くのユーザがこれらの機能を確認したとしても、

その後、別のドメインへのリダイレクトに気付かないため、

フィッシング攻撃の信頼性を高めて。

 

ターゲットを target.com と呼び。

最初のステップは、偵察を常に行うことで。

偵察はバグを発見する上で重要な役割を果たし。

waybackurls ツールを通じてターゲットの多くのエンドポイントを取得し、

grep コマンドを通じて「redirect」パラメータを持つ URL をフィルタ処理すると、

結果は次のようになり。

 

https://login.target.com/login?redirect=aHR0cHM6Ly9hcHAudGFyZ2V0LmNvbS9kYXNoYm9hcmR8MzJ8YUhSMGNITTZMeTloY0hBdWRHRnlaMlYwTG1OdmJTOWtZWE5vWW05aGNtUT0%3D

 

まず、リダイレクト値をコピーし、「%3D」を「=」(URL デコード)に

変更したので、次のようになり。

 

aHR0cHM6Ly9hcHAudGFyZ2V0LmNvbS9kYXNoYm9hcmR8MzJ8YUhSMGNITTZMeTloY0hBdWRHRnlaMlYwTG1OdmJTOWtZWE5vWW05aGNtUT0=

 

Base64 でエンコードされた値のように見えるので、

簡単にデコードすると次のようになり。

 

https://app.target.com/dashboard|32|aHR0cHM6Ly9hcHAudGFyZ2V0LmNvbS9kYXNoYm9hcmQ=

 

数秒間、URL の後にあるのは一体何だろうと考えていて。

その後、「32」が URL の長さで、「https」の最初の「h」から

「dashboard」の最後の「d」までで、

そしてその後がURL の Base64 エンコード値にすぎないトークンを与えていて。

 

サーバ バックエンド フロー:

 ユーザログイン ⇨ リダイレクト値をBase64デコード

 ⇨ URLの長さとエンコードされた値による整合性のチェック

 ⇨ 問題がなければ、リダイレクト

 

次のステップは、悪意のあるサイトへのリダイレクトを作成することで。

このための最初のステップは、URL の長さをカウントし、

URL を Base64 にエンコードすることで。

 

作成手順:

1.まず、URL 内の文字、記号、数字などの数を数えて。

  https://evil.com ⇨ 16

 

2.URL を Base64 エンコードするだけで。

  https://evil.com ⇨ aHR0cHM6Ly9ldmlsLmNvbQ==

 

3.パイプを区切り文字として使用し、両方の値と悪意のある URL を組み合わせると

 ペイロードは次のようになり。

  https://evil.com|16|aHR0cHM6Ly9ldmlsLmNvbQ==

 

4.次に、ペイロードを Base64 でエンコードして。

  aHR0cHM6Ly9ldmlsLmNvbXwxNnxhSFIwY0hNNkx5OWxkbWxzTG1OdmJRPT0=

 

5.「=」、つまり「%3D」を URL エンコードして。

 最終的な Base64 でエンコードされた値を脆弱な URL の

 「リダイレクト」パラメータに入力するだけで、実行の準備が整って。

 

  https://login.target.com/login?redirect=aHR0cHM6Ly9ldmlsLmNvbXwxNnxhSFIwY0hNNkx5OWxkbWxzTG1OdmJRPT0%3D

 

ログイン後、サイトはスムーズに EVIL.COM にリダイレクトされて。

 

Best regards, (^^ゞ