Shikata Ga Nai

Private? There is no such things.

Authentication bypass via OAuth implicit flowをやってみた

Hello there, ('ω')ノ

 

OAuthとは、複数のWebサービスを連携して動作させるために使われる仕組みで。

通常は、各Webサービスごとにユーザ認証するものの。

OAuthを利用すると1つの認証を行うことでアプリケーション間の連動ができて。

連携のキモとなるのがトークンなわけで。

 

まずは、クライアントアプリケーションによる検証に欠陥があるようで。

パスワードを知らなくても他のユーザーのアカウントにログインできるとのことで。

 

f:id:ThisIsOne:20210116085007p:plain

 

下記でログインして。

 wiener/peter

 

f:id:ThisIsOne:20210116085149p:plain

 

ここでひとつ目のアプリにログインできて。

 

f:id:ThisIsOne:20210116085227p:plain

 

f:id:ThisIsOne:20210116092443p:plain

 

アカウントを確認して。


f:id:ThisIsOne:20210116092414p:plain

 

再度、認証を行って。

今度はインターセプトして、Burpでリクエスト内容を追っていくと、

メールアドレスが見当たるので、そこへ下記のアドレスに変更すると。

 carlos@carlos-montoya.net

 

f:id:ThisIsOne:20210116085639p:plain

 

f:id:ThisIsOne:20210116085729p:plain

 

アカウントが入れ替わった。

 

f:id:ThisIsOne:20210116093054p:plain

 

Best regards, (^^ゞ