Shikata Ga Nai

Private? There is no such things.

Account Takeover + A Bonus Vulnerabilityを訳してみた

Hello there, ('ω')ノ

 

アカウントの乗っ取り+ボーナスの脆弱性を。

 

脆弱性:

 アカウントの乗っ取り

 セッション固定

 

記事:

 https://medium.com/@kalvik/account-takeover-a-bonus-vulnerability-3c2dc4e607ea

 

今回は、redacted.comのアカウントをどのように引き継ぐことができたかを。

この攻撃はホストヘッダインジェクションと非常によく似ていますが。

アプリはWebSocketを使用していたため、少し異なって。

 

ログインポータルには、ユーザが自分の電子メールへのログインリンクを。

要求することでログインできる機能があったので。

ユーザは受信したリンクをクリックするだけで。

パスワードなしで自動的でログインできて。

 

そこで、被害者のアカウントで[ログインリンクを送信]をクリックすると。

WebSocketリクエストは次のようになって。

「params」には、メールアドレスとリンクの2つのパラメータがあって。

 [\”victim@victim.com\”,\”https://www.redacted.com/login\”]

 

f:id:ThisIsOne:20210826111653p:plain

 

被害者が受け取ったログインリンクは下記のとおりで。

 “https://www.redacted.com/login?quickLogin=XXXXXXXXXXXXXXXXXXXX

 

リンクの最初の部分がWebSocketリクエストの場合と同じだったので。

パラメータのリンクを下記のように変更してリクエストを送信すると。

 [\”victim@victim.com\”,\”mycollarboratorlink.net\”]

 

f:id:ThisIsOne:20210826111716p:plain

 

被害者がメールで受け取ったリンクは、下記のとおりで。

ログインリンクがBurpのコラボレータリンクに変更されていて。

 

f:id:ThisIsOne:20210826111831p:plain

 

被害者がこれをクリックするとBurpのコラボレータに。

被害者のログインコードが表示されるので。

 

f:id:ThisIsOne:20210826111753p:plain

 

これで取得したログインコードを下記に追加することで。

任意のアカウントを引き継ぐことができるわけで。

 “https://www.redacter.com/login?quickLogin=

 

もう1つは、アプリでプロフィールセクションのメールを変更できることで。

被害者のアカウントをログに記録した後に。

攻撃者は電子メールとその永続的なアカウントの乗っ取りも変更できて。


また、ボーナスの脆弱性とは何かというと。

上記の脆弱性が修正さたリクエストが次のようになっていて。

攻撃者がリンク内のホストを変更できないようになっていて。

つまり、リクエストに“https://www.redacted.com/”がなくて。

/login”のみが含まれていて。

 

f:id:ThisIsOne:20210826111617p:plain

 

このリクエストを送信したときに受け取ったリンクは。

下記のようなホストアドレスとの組み合わせで。

最初と最後の部分は、アプリによってバックエンドに自動的に追加されていて。

 “https://www.redacted.com”+“/login/“+“quickLogin=XXXXXXXXXXXXXXXXXXXXXXXX”

 

さて、まだ「/login」は自分の制御下にあるので変更できるわけで。

そこで、攻撃者のアカウントにログインリンクをリクエストして。

攻撃者のログイントークンをコピーして、リクエストを下記のように変更すると。

 “/login” ⇨ “/login?quickLogin=attackers_token?ref=\

 

f:id:ThisIsOne:20210826111430p:plain

 

このリクエストを送信したときに。

被害者がメールで受け取ったリンクは下記のとおりで。

攻撃者のログイントークンがリンクに追加されていることが確認できて。

 

f:id:ThisIsOne:20210826111511p:plain

 

被害者がこのリンクをクリックすると、攻撃者のアカウントにログインすることに。

このようにして、2つの異なる方法で単一の脆弱性を悪用することができて。

 

Best regards, (^^ゞ