Shikata Ga Nai

Private? There is no such things.

An Unusual Tale of Email Verification Bypassを訳してみた

Hello there, ('ω')ノ

 

メール認証バイパスの珍しい話を。

 

脆弱性:

 メール認証バイパス

 ブルートフォース

 レート制限バイパス

 

記事:

 https://sagarsajeev.medium.com/an-unusual-tale-of-email-verification-bypass-dcf884d544eb

 

今回は、メール認証バイパスをどのように報告したかを。

ドメインを「https://www.redacted.com/account/login」とすると。

attack@email.com としてアカウントにログインして。

メールオプションの変更に移動し、メールを。

attacker@email.comからvictim@email.comに変更すると。

4 桁の OTP がvictim@email.com に送信され、変更が確認 (検証) されて。

レート制限は設定されていないので、ブルートフォーシングによって。

正しい OTP が見つかって。


しかし、正しい OTP を提出すると、ページに間違った OTP が表示されて。

正しい OTP が Web サイトによって拒否された理由がわからず。

すべてのリクエストをリピータの OTP ブルートフォース リクエストして。

手動で検査することに。

試行錯誤の 2 時間後、リクエストの間に埋め込まれた「sec」と呼ばれる。

隠しパラメータに出くわして。

 

リピータでは120回目のリクエスト以降にしか現れない、かなり特殊なパラメータで。

それを 3 回確認しましたが、実際には 120 回目のリクエストの後でしか。

表示されず。

また、120 回目のリクエストの後、ステップ値 1 ずつ増加していくことに。

 

>120 番目のリクエストの「sec」値は 1

>121 番目のリクエストの「sec」値は 2

>122 番目のリクエストの「sec」値は 3

>123 番目のリクエストの「sec」値は 4

> など

 

すると、120 回目のリクエスト以降のすべての試行で。

別のサブドメインへの 302 リダイレクトが発生することにも気付いて。

ターゲットが Web サイトのトラフィックを減らすため。

またはブルートフォース攻撃を防ぐために選択した方法のように感じて。

 

パラメータはクライアント側に大きく依存していたため。

120 番目のリクエストから「sec」パラメータを削除するだけで。

後続のすべてのリクエストからパラメータが削除され。

上記の OTP ブルートフォーシングをもう一度試し。

正しい OTP を取得して入力すると。

電子メールは、attacker@email.com からvictim@email.com に変更されて。

 

影響:

この問題は、電子メールの検証をバイパスするために使用でき。

攻撃者は、その電子メール アカウントにアクセスできなくても。

任意の人の代わりにアカウントを作成できて。

 

Best regards, (^^ゞ