Shikata Ga Nai

Private? There is no such things.

Unauthenticated Account Takeover Through Forget Passwordを訳してみた

Hello there, ('ω')ノ

 

パスワードを忘れた場合の認証されていないアカウントの乗っ取りを。

 

脆弱性:

 パスワードリセットの欠陥

 アカウントの乗っ取り

 情報開示

 

記事:

 https://infosecwriteups.com/unauthenticated-account-takeover-through-forget-password-c120b4c1141d

 

今回、ターゲットのスコープはワイルドカードで。

認証されていないテストのみだったので、最初に偵察から。

下記のサイトのhttpxで、subfinderを起動すると。

 https://github.com/projectdiscovery 

 

f:id:ThisIsOne:20210817103701p:plain

 

https://github.com/projectdiscovery/httpx

 

f:id:ThisIsOne:20210817103812p:plain

 

膨大な数のサブドメインが。

その中のドメインの1つで、403の禁止エラーが目に留まって。

 

f:id:ThisIsOne:20210817095115p:plain

 

したがって、最初に実行するffufを実行する代わりに。

下記のような単純なGoogle検索を実行するとたくさんの結果が。

 site:[subdomainhere]

 

f:id:ThisIsOne:20210817095138p:plain

 

たくさんのログインページでホストされていたけども。

最初の結果に表示されたものについて探すことに。

 

それは、オンラインの請求書システムで。

アプリケーションは、ログインのためにある種のD**IDとパスワードを要求して。

ヘルプ記事でD**IDについて検索すると。

ライセンス時にすべてのベンダーに割り当てられた。

9桁の番号であることがわかったので。

グーグル検索をしたものの、この特定のIDについて解明できず。

 

最終的にグーグル結果の画像を見て、ライセンスが紙の上で行われて。

このIDを含めることができることを期待すると。

ライセンスは紙の上で行われて。

件名に有効なD**000271629を取得できて。

 

f:id:ThisIsOne:20210817095211p:plain

 

f:id:ThisIsOne:20210817095353p:plain

 

最初にこのIDのパスワードをブルートフォースしても何もヒットしなかったので。

パスワードを忘れるフローのテストを開始することに。

まずは、パスワードをリセットするために、最初にD**000271629を要求して。

アプリケーションが、、パスワードのリセットに2つのリクエストを使用していて。

1つはD**000271629のパスワードをクエリするためのもので。

もう1つはリクエスト自体の内部で新しく生成されたパスワードを。

メールIDに送信するためのものだったので。

パスワードだけでなく電子メールも開示されて。

 

f:id:ThisIsOne:20210817095306p:plain

 

新しく生成されたパスワードを使用して。

彼らのアカウントにログインすることができて。

 

f:id:ThisIsOne:20210817095245p:plain

 

Best regards, (^^ゞ