Hello there, ('ω')ノ
応答操作によるアカウントの引き継ぎを。
今回は、執筆者の文章力が低いのか自分の能力が低いのか手こづってしまって。
脆弱性:
認証バイパス
アカウント乗っ取り
記事:
https://thevillagehacker.medium.com/account-take-over-by-response-manipulation-e1293ee51e9a
ターゲットは、支払いや食べ物の注文などを行うオンラインプラットフォームで。
仮にtarget.comとして。
まずは、下記のサインアップページで情報を登録して。
Account1(abc@gmail.com)
Name
Phone Number
Password
アプリケーションは登録した電子メールへの確認リンクを送信して。
電子メールを確認するとアカウント設定ページに移動して。
アプリケーションがログイン要求をどのように処理しているかを確認するために。
ログアウトして再度ログインすることに。
Password
するとアプリケーションがAPIを使用してユーザ認証していることがわかって。
Host: api
リクエストをインターセプトして。
APIがログインプロセスをどのように処理するかを観察することに。
下記は、Account1(abc@gmail.com)のサインアップの要求と応答で。
するとサインアップとログインの応答が似ていることをわかって。
ただ、いくつかの異なる箇所があったので。
ログイン応答をサインアップ応答で操作することに。
まずは、ログアウトして下記のアカウントを作成して。
サインアップ応答をキャプチャして。
Account2(xyz@gmail.com)⇦ 攻撃者
次に下記のIDでパスワードは適当にログインして。
Account1(abc@gmail.com)⇦ 被害者
BurpのインターセプトをONにして。
下記で、再度ログインすると以下のようなログイン要求を傍受して。
Account1(abc@gmail.com)⇦ 被害者
次にAction ⇨ Do intercept ⇨ Request to this responseを適用して。
下記のレスポンスを変更することに。
401 Unauthorized ⇦ パスワードが異なるので当たり前で。
下記が、さきほどキャプチャしたサインアップで、応答は200 OKで。
Account2(xyz@gmail.com)⇦ 攻撃者
上記のキャプチャした応答のメールパラメータを下記へ変更して。
すべてのリクエストを転送しすると。
Account1(abc@gmail.com)⇦ 被害者
下記のAccount1(abc@gmail.com)の設定ページに移動して。
ログイン応答をサインアップ応答に操作することで。
パスワードなしでAccount1(abc@gmail.com)に正常にログインできて。
Best regards, (^^ゞ