Shikata Ga Nai

Private? There is no such things.

How i was able to exploit the same endpoint 2 times ( multiple xss & open Redirection on 10 subdomain)を訳してみた

Hello there, ('ω')ノ

 

同じエンドポイントを 2 回悪用できた方法 を。

 

脆弱性:

 XSS

 オープンリダイレクト

 

記事:

 https://medium.com/@ratnadip1998/how-i-was-able-to-exploit-the-same-endpoint-2-times-multiple-xss-open-redirection-on-10-5d12886f823d

 

同じエンドポイントを 2 回悪用できた方法

(10 個のサブドメインでの複数の xss とオープン リダイレクト) について

最近発見したことを共有したいと。

 

ある日、LinkedIn フィードをチェックしていたら、友人の 1 人が

このサイトから報酬を得ていることに気づき。

友人が脆弱性を報告するのを忘れたら、運試しをしようかと考えて。 

 

ドメインをターゲットにすることはなく。

常にサブドメインをターゲットにして。

基本的な偵察には dnsdumpster.com を使用して。

 

 

dnsdumpster.com を開いてドメイン名 (例: sanity.io ) を入力し、

検索ボタンを押し。

数秒で、sanity.io のサブドメインを取得して。

 

基本的な偵察に最適なツールであり、応答時間が非常に速く。

次に、「api.sanity.io」をターゲットにすることに。

時間を無駄にすることなく「api.sanity.io」を開くと、

すぐに次の場所にリダイレクトされて。

 

https://accounts.sanity.io/login/redirectTo=https%3A%2F%2Faccounts.sanity.io%2Fapi %2Fv1%2Foauth%2Fauthorize%3Fresponse_type%3Dcode%26redirect_uri%3Dhttps%253A%252F%252Fapi.sanity.io%252Fv1%252Fauth%252Fcallback%252Fsanity%26state%3Du3vRNiBfJA4DvEwolSJbPKYF%26client_ id%3Doc-3I2pHriWuK29

 

サイトがログイン ページにリダイレクトして。

しかし、「api.sanity.io」をターゲットにすることにして。

そこで、今回は再び「api.sanity.io」を開いて、すぐにメモ帳にURLをコピーして。

 

https://api.sanity.io/v1/auth/whitelist?redirectTo=https://accounts.sanity.io/login/redirectTo=https%3A%2F%2Faccounts.sanity.io%2Fapi%2Fv1%2Foauth% 2Fauthorize%3Fresponse_type%3Dcode%26redirect_uri%3Dhttps%253A%252F%252Fapi.sanity.io%252Fv1%252Fauth%252Fcallback%252Fsanity%26state%3Du3vRNiBfJA4DvEwolSJbPKYF%26client_id%3Doc-3I2pHりWuK29

 

それから「?redirectTo=」を見て興奮し。

オープン リダイレクトをテストするという最初の考えが頭に浮かび。

「?redirectTo=」の後に http://evil.com を入力しましたが、

何も起こらず、404 エラーが表示され。

それで、今何をすべきかを考えていましたが、そこで XSS をテストしては

どうかという考えが 2 番目に頭に浮かび。

「?redirectTo=」の後に、いくつかの基本的なペイロードを入力して。

(例: img & svg alter (1) )

 

しかし、何もうまくいかず。

次に、このペイロードを入力しているときにバックグラウンドで

何が起こっているかを確認するために「ソースコード」タブを開いたのですが、

ペイロードが反映されず。

そこにXSSが存在していないようで。

ソース コードをもう一度見ていて、突然 braze.com で最近発見したことを思い出し。

同じ状況の入力はソースコードには反映されませんが、

ページの要素を検査すると反映されて。 

そのエラー ページの要素を検査し、入力を検索し。

反映されていますが、XSS が機能しておらず。

次に、xss をもう一度試してみましたが、

今回は、alertではなく「prompt」ペイロードを入力して。

 

URL: https://api.sanity.io/v1/auth/whitelist?redirectTo=XSS_Payload

 

 

そして、XSS がどのようなトリガーになるかはご存知で。

アラートがブロックされているため、XSS がトリガされないことに気づき。

xss を入手したので、このサイトでもっとバグを探してみようかと考えて。

 

再び偵察プロセス:

サブドメインを見つけるためにkokpyを使用しましたが、しばらくしてから

サブドメインのサブドメインを取得して。

 

例えば:

https://1goh1ap5.api.sanity.io/
https://v475t82f.api.sanity.io/
https://w7l5ei8i.api.sanity.io/
https://wb68e9ma.api.sanity.io/

 

そして、このサブドメインも https://accounts.sanity.io/login 」にリダイレクトし。

xss ペイロードを「? redirectTO=」に再度入力したところ、XSS がトリガされて。

 

https://1goh1ap5.api.sanity.io/v1/auth/whitelist?redirectTo=XSS_Payload

 

 

sanity.io で複数の xss を見つけて。

この XSS では 10 個のサブドメインが影響を受けたので報告して。

 

再び「api.sanity.io」を開いたのですが、今度はどのページにもリダイレクトされず。

しかし、脆弱な URL を再度開いても、ポップアップやエラーは表示されず。

例えば、https://api.sanity.io/v1/auth/whitelist?redirectTo=

 

 

今回は「ログインボタン」を表示するページで。

そしてなんと、「?redirectTO=」の後に evil.com に入り、

「ログイン ボタン」をクリックすると、 evil.com にリダイレクトされて。

そして今回はevil.comではなくxss paylodに入り。

 

 

そして「ログインボタン」を押すと、XSSが再びトリガされて。

上のセクションを読んだとおり、10 個のサブドメインで

複数の反映された XSS が見つかり。

繰り返しますが、すべてのサブドメインがこの問題に対して脆弱で。

 

 

Best regards, (^^ゞ