Shikata Ga Nai

Private? There is no such things.

Got Nice catch by Googleを訳してみた

Hello there, ('ω')ノ

 

Google がナイスキャッチを獲得したを。

 

脆弱性:

 OAuth

 オープンリダイレクト

 CSRF

 

記事:

 https://parthdeshani.medium.com/got-nice-catch-by-google-5e6a8211371c

 

今回は、Google の買収チェーンで複数のバグを見つけて重大度を高め、

GOOGLE によってナイスキャッチを獲得した物語を。

 

ターゲットとして Appsheet.com を選択し。

これは、コーディングを必要としない Google のインテリジェントな

プラットフォームであり、自分にとっては良さそうで。

AI があると思うのでバグがあり。

そこでバグを探し始めたところ、次のようなリンクを見つけて。

 

 https://www.appsheet.com/account/login?retrunUrl=/account

 

ログイン後、このリンクがユーザを /account ページに

リダイレクトしていることがわかるので、単純に次のように試してみて。

 

https://www.appsheet.com/account/login?retrunUrl=google.com

 

しかし、明らかに制限があるため機能しないため、

下からのリダイレクト用に多くのペイロードを試して。

 

https://github.com/payloadbox/open-redirect-payload-list

 

そして驚くべきことに、/\/\/google.com は機能して。

しかし、すでに多くのばかげたバグを提出しており、

Googleはそれらを修正しないとマークしているため、ほとんどの場合、

Googleはこの種の低レベルのバグを受け入れないことを思い出して。

その後、ある日、友人の 1 人と OAuth CSRF のバグについて話し合って。

すぐに appsheet.com に戻り、OAuth 関連のバグを確認し。

良いニュースとして、state=? が取得されているため、

state パラメータが定義されておらず。


State パラメータがなく

 

基本的に、State パラメータは CSRF 攻撃を防ぐために Oauth で使用されて。

それで、今のところ2つのことを理解していて。

 

     オープンリダイレクト

     認証CSRF

 

次に、Oauth でリダイレクト URL (ru) を確認し。

これは Oauth 2.0 プロトコルの主要部分であり、

攻撃者がこの URL を変更できる場合、

ユーザの認証トークンを利用することができて。

 

しかし、ほとんどの場合、このリダイレクト URL は保護されており。

したがって、リダイレクト URL をオープンリダイレクト URL に変更して、

最終的な URL は次のようになって。

 

https://www.appsheet.com/Account/ELCGD?state=?FullScope=yesru=https%3a%2f%2fwww.appsheet.com%2fAccount?retrunUrl=/\/\/evil.com&code=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&scope=email%20profile%20 

https://www.googleapis.com/auth/userinfo.profile%20openid%20 https://www.googleapis.com/auth/userinfo.email%20 https://www.googleapis.com/auth/spreadsheets%20 https://www.googleapis.com/auth/drive&authuser=1&prompt=consent

 

バグ報奨金のヒント:

1.常により大きな影響を与え、複数のバグを連鎖させようとして。

2.スコープについては常に注意深く読んで。

3.決してあきらめず。

 

Best regards, (^^ゞ