Shikata Ga Nai

Private? There is no such things.

IDOR via Websockets allow me to takeover any users accountを訳してみた

Hello there, ('ω')ノ

 

Websocketを介したIDORにより、任意のユーザアカウントの乗っ取りを。

 

脆弱性:

 IDOR

 

記事:

 https://mokhansec.medium.com/idor-via-websockets-allow-me-to-takeover-any-users-account-23460dacdeab

 

今回は、全ユーザアカウントを引き継ぐことを可能にする発見を共有することに。

これはプライベートプログラムであり。

ターゲットに関する情報を開示する許可がないため、example.comと呼ぶことに。

プログラムの機能についての基本的な考え方を。

 

これは、チームを作成できるオンライン会議プラットフォームで。

ユーザを招待したり、ユーザをフォローしたり。

管理者や一般ユーザを許可したりできて。

 

ここで、Burp Suiteを起動し、名前を変更する方法を確認し始めることに。

まずは、メール機能が機能してX-tokenヘッダがあることがわかって。

これはJWTトークンであり、JWTトークンが存在するかどうかはご存知のとおり。

CSRFを見つけることはほとんど不可能で。

少なくともこのウェブサイトでは。

 

トークンを削除して情報を変更しようとしましたが。

どのWebサイトからも401が提供されず。

今回はすべての要求と応答を確認していて。

POSTリクエストの後にサインアップをクリックすると。

UUIDと電子メール、ユーザ名などを含む1つのWebSocketリクエストが。

送信されることがわかって。

UUIDを最初のアカウント(アカウントA)UUIDに変更しようとしましたが。

エラーが発生して。

メールは既に存在していたので。

 

これで、Eメールを提供するWebサイトにエラーが存在する理由がわかって。

ユーザBのアカウントはすでに作成されており。

同じメールアドレスを使用できないためで。

UUIDをアカウントAのUUIDに変更し、電子メールを変更して応答がありませんが。

最初のアカウント(アカウントA)に移動して。

ログアウトしたページをリロードして。

すぐに(アカウントAの電子メールで)再度ログインしようとしましたが。

エラーが発生して。

(メールを変更した後、ウェブサイトはユーザをログアウトして再度ログインして。

 アカウントAのメールを正常に変更したことを確認できて。

 ご存知のとおり、アカウントAのパスワードは既に知っていますが。

 アカウントAを管理しているため

 パスワードのリセットリンクをリクエストできて。)

これらを理解してから新しい電子メールでログインすると。

これで、アカウントAのユーザに正常にログインして。

 

どのようにしてUUIDを見つけることができるかというと。

これはオンライン会議プラットフォームで。

ユーザのプロファイルに移動し、次のユーザボタンをクリックすると。

ユーザのUUIDを簡単にgrepできて。

 

取り除く:

    常にログイン、サインアップ、および情報変更機能を試すと常に何かがあって。

 このプログラムでは、40人以上のハッカーが招待されましたが。

 ほとんどのハッカーはWebSocketを探していないと思うため。

 彼らはそれを見つけられず。

 バグがどこで見つかるかわからないので、すべてをチェックして。

 UUIDを変更しましたが、メールアドレスを変更しなかったために。

 エラーが発生したので、時間をかけてみて。

 

Best regards, (^^ゞ