Shikata Ga Nai

Private? There is no such things.

Account Take Over by Response Manipulationを訳してみた

Hello there, ('ω')ノ

 

応答操作によるアカウントの引き継ぎを。

今回は、執筆者の文章力が低いのか自分の能力が低いのか手こづってしまって。

 

脆弱性:

 認証バイパス

 アカウント乗っ取り

 

記事:

 https://thevillagehacker.medium.com/account-take-over-by-response-manipulation-e1293ee51e9a

 

ターゲットは、支払いや食べ物の注文などを行うオンラインプラットフォームで。

仮にtarget.comとして。

 

まずは、下記のサインアップページで情報を登録して。

 Account1(abc@gmail.com)

 

 Name

 Phone Number

 Email

 Password

 

f:id:ThisIsOne:20210802134527p:plain


アプリケーションは登録した電子メールへの確認リンクを送信して。

電子メールを確認するとアカウント設定ページに移動して。

 

アプリケーションがログイン要求をどのように処理しているかを確認するために。

ログアウトして再度ログインすることに。

 Email

 Password

 

f:id:ThisIsOne:20210802134457p:plain


するとアプリケーションがAPIを使用してユーザ認証していることがわかって。

 Host: api


リクエストをインターセプトして。

APIがログインプロセスをどのように処理するかを観察することに。

下記は、Account1(abc@gmail.com)サインアップの要求と応答で。

 

f:id:ThisIsOne:20210802134432p:plain

 

するとサインアップログインの応答が似ていることをわかって。

ただ、いくつかの異なる箇所があったので。

ログイン応答をサインアップ応答で操作することに。


まずは、ログアウトして下記のアカウントを作成して。

サインアップ応答をキャプチャして。

 Account2(xyz@gmail.com)⇦ 攻撃者

 

次に下記のIDでパスワードは適当にログインして。

 Account1(abc@gmail.com)⇦ 被害者

 

f:id:ThisIsOne:20210802134404p:plain


BurpのインターセプトをONにして。

下記で、再度ログインすると以下のようなログイン要求を傍受して。

 Account1(abc@gmail.com)⇦ 被害者

 

f:id:ThisIsOne:20210802134332p:plain


次にAction ⇨ Do intercept ⇨ Request to this responseを適用して。

下記のレスポンスを変更することに。

 401 Unauthorized ⇦ パスワードが異なるので当たり前で。

 

f:id:ThisIsOne:20210802134305p:plain

 

下記が、さきほどキャプチャしたサインアップで、応答は200 OKで。

 Account2(xyz@gmail.com)⇦ 攻撃者

 

f:id:ThisIsOne:20210802134221p:plain

 

上記のキャプチャした応答のメールパラメータを下記へ変更して。

すべてのリクエストを転送しすると。

 Account1(abc@gmail.com)⇦ 被害者

 

 下記のAccount1(abc@gmail.com)の設定ページに移動して。

 

f:id:ThisIsOne:20210802134157p:plain


ログイン応答をサインアップ応答に操作することで。

パスワードなしでAccount1(abc@gmail.com)に正常にログインできて。

 

Best regards, (^^ゞ