Shikata Ga Nai

Private? There is no such things.

DOM XSS via an alternative prototype pollution vectorをやってみた

Hello there, ('ω')ノ

 

代替プロトタイプ汚染ベクトルを介した DOM XSSを。
 
クライアント側のプロトタイプ汚染による DOM XSS に対して脆弱で。
グローバル Object.prototype に任意のプロパティを追加するために
使用できるソースを見つけ。
任意の JavaScript の実行を許可するガジェット プロパティを特定し。
これらを組み合わせてalert()を呼び出し。
このラボはブラウザで手動で解決することも、
DOM Invader を使用して解決することもできて。
 
ヒント:
XSS コンテキストに注意して。
インジェクション後も JavaScript 構文が有効なままであることを確認するには、
ペイロードをわずかに調整する必要があり。
 

まずは、DOM Invaderを有効にし、prototype pollutionを有効にして。

 

 

 

DOM Invaderタブに移動し、ページをリロードして。

DOM Invaderが検索プロパティにプロトタイプ汚染ベクトルを特定して。

 

 

「Scan for gadgets」をクリックすると

DOM Invaderは、ガジェットをスキャンし始める新しいタブが開いて。

 

 

 

スキャンが完了したら、DOM Invaderがシーケンスガジェットを介して

eval()シンクにアクセスできたことに注意して。

「Exploit」をクリックしても、alert()をトリガーすることはなく。

 

 

 

 

前のブラウザタブに戻り、再びDOM Invaderでeval()シンクを見ると

edflebqaに続いて、数字の1文字がペイロードに追加されているので

再び「Exploit」をクリックして。

 

 

新しいタブでURLにマイナス記号(-)を追加して、ページを実行すると

alert(1)が呼び出され。

 

https://0adb007504be709182a48eaa0015007f.web-security-academy.net/?__proto__.sequence=alert%281%29-

 

 

クリアできて。

 

 

Best regards, (^^ゞ