Hello there, ('ω')ノ
1800ドル相当の応答操作によるアカウントの乗っ取りを。
脆弱性:
認証バイパス
OTPバイパス
アカウント乗っ取り
記事:
Webサイト名については、redacted.ioと仮定して。
ログインフォームと認証メカニズムをテストすることにしたので。
アカウントを作成してからログインすることに。
正しい資格情報を入力すると、電話番号に送信される多要素認証として。
OTPを入力するようにリダイレクトされるので。
正しいログイン応答[Password + OTP]を保存することに。
これは、後でWebサイトのワークフローを理解するのに役立つことに。
間違ったログインを試して応答を傍受して、正しいログイン応答と比較することに。
<wrong_password_response>:
{token:91a1d5f4a8s5d1a2g1a5dfa15,
”error”:”Please update the above field.”,
”error_code”:”ErrFormFieldIncorrect”,
”error_action”:{},
”field_errors”:{“email”:”Password incorrect, please try again”}}
<correct_password_response>:
{token:91a1d5f4a8s5d1a2g1a5dfa15,
”next”:”OTP”,
”otp_step”:{“heading”:”Check your email”,”description”:”Enter the 4-digit code we sent to \u003cb\u003evictim@gmail.com\u003c/b\u003e to signin”,
”num_digits”:4,
”error”:””,
”popup_message”:”Code sent to victime@gmail.com”,
”can_request_sms”:false}}
この応答を見た後、応答の操作を試してみようと思ったので。
<correct_password_response>の応答を操作して。
<correct_password_response>に置き換えることに。
注:
間違った応答で存在するものは何でもトークンを同じにして。
被害者の電子メールアドレスを入力すること。
なので、置き換えた応答は上記の<correct_password_response>と同じようになって。
{token:91a1d5f4a8s5d1a2g1a5dfa15,
”next”:”OTP”,
”otp_step”:{“heading”:”Check your email”,”description”:”Enter the 4-digit code we sent to \u003cb\u003evictim@gmail.com\u003c/b\u003e to signin”,
”num_digits”:4,
”error”:””,
”popup_message”:”Code sent to victime@gmail.com”,
”can_request_sms”:false}}
上記を転送するとすぐにウェブサイトはOTPページにリダイレクトして。
認証がバイパスされてたので、OTPをブルートフォースしようとしたら。
何度か試行した後にWebサイトに24時間ブロックされてしまったので。
翌日、OTPリクエストを傍受したときに。
本文に下記のパラメータがあることを見つけて。
{“success”:”false”}
そこで、falseをtrueに変更して、被害者のアカウントに入れて。
Best regards, (^^ゞ