Shikata Ga Nai

Private? There is no such things.

break and bypass verification emailを訳してみた

Hello there, ('ω')ノ

 

確認メールを破ってバイパスするを。

 

脆弱性:

 オープンリダイレクト

 

記事:

 https://medium.com/@protostar0/break-and-bypass-verification-email-ac3359041272

 

今回は、どのメールアドレスでもアカウントを登録して確認できて。

所有者ではなく。

 

説明:

 

 

電子メール (例: ha99999kou@gmail.com) で bukalapak.com に登録すると、

次のようなアカウントを確認するためのメッセージが電子メールに届き。

ボタンをクリックして確認すると、このリンクに移動して。

 

     https://glimpse.bukalapak.com/redirect?link=https%3A%2F%2Fwww.bukalapak.com%2Fconfirmation%2FaGE5OTk5OWtvdUBnbWFpbC5jb206MjY1NTE%3D&llstttu=2fb35103376a858cf5f1ca33559ae9effae3a37a5f53 67c8d2cac53b76e1db86&subject=Segera+Verifikasi+Email+Kamu&tag=confirmation&template_id=0&type=ClickEmail&user_email=ha99999kou% 40gmail.com

 

最初のバグは、このリンクがオープンリダイレクトで脆弱であることで。

このリンクに行って。

 

https://glimpse.bukalapak.com/redirect?link=https%3A%2F%2Fwww.bing.com

 

bing.com にリダイレクトされ。

2番目のバグはそれで。

最初のリンクはトークンを含む確認ページにリダイレクトされて。

 

https://www.bukalapak.com/confirmation/aGE5OTk5OWtvdUBnbWFpbC5jb206MjY1NTE=

 

このトークン「aGE5OTk5OWtvdUBnbWFpbC5jb206MjY1NTE=」はbase64で

エンコードされた「ha99999kou@gmail.com:26551」で。

 

問題は、有効なトークンが簡単に生成できることで。

トークンが弱すぎ。

このトークンは、base64 でエンコードされた ((email:5 桁のランダムな数値) ) を

生成できて。

低帯域幅でも 15 分でブルートフォース クラック 5 桁ブレークを使用できて。

電子メールリンクに移動せずに。

 

PS:

たくさんのアカウントを作成しましたが、乱数は常に5桁で。

 

この機能を中断してみることに (確認メール):

最初にha99999kou@gmail.com:12345で間違ったトークンを作成し、

base64でエンコードすると次のようになり。

 

「aGE5OTk5OWtvdUBnbWFpbC5jb206MTIzNDU=」

 

このリンクをブラウザで開いてみると。

 

https://www.bukalapak.com/confirmation/aGE5OTk5OWtvdUBnbWFpbC5jb206MTIzNDU=

 

 

トークンが無効であるというメッセージが表示され。

Ajax リクエストでトークンと他の access_token を

https://api.bukalapak.com に送信し、応答としてエラー メッセージを受け取り。

 

 

Burp リピータで有効なトークンと無効なトークンを比較してみると。

1.ステータス コード 200 を持つ有効なトークン

 

 

2.ステータス コード 400 の無効なトークン

 

 

次に、この Ajax リクエストを傍受し、Burp イントルーダの 5 桁を

ブルート フォースで実行して。

 

ルール:

プレフィックス メールと bse64 エンコードを使用

 

新しいアカウント ha999999 Kou@gmail.com を確認して。

 

 

Best regards, (^^ゞ