Hello there, ('ω')ノ
🎯 目的
このラボでは、コメント機能に格納型XSS(Stored XSS)の脆弱性が存在し、ユーザー名に設定されたリンクが href
属性内でそのまま反映される仕様を突きます。href
に javascript:
スキームを使ってスクリプトを実行し、XSSを達成します。
🧪 実施手順
自分のアカウントでログイン 提供された認証情報(例:
wiener:peter
)を使用してログインします。コメント投稿 → Burpで確認
- 任意の投稿にコメントします。
- 「Website」欄にランダムな英数字(例:
test123
)を入力。 - リクエストを Burp Suite でインターセプトし、
HTTP history
からRepeater
に送信。
反映確認
- 投稿を閲覧し、Burp で該当リクエストを再度
Repeater
に送信。 test123
が<a href="test123">
のように anchorタグの href 属性にそのまま反映されていることを確認。
- 投稿を閲覧し、Burp で該当リクエストを再度
ペイロードの送信
今度は「Website」欄に以下の JavaScript ペイロードを入力:
javascript:alert(1)
確認と成功
- コメント欄上部のユーザー名(リンク)をクリック。
- アラートが実行されれば、XSS成功。
- ラボが自動的に完了状態になります。
🧠 ポイント
href
属性が HTMLエンコードされたダブルクオートで囲まれていても、javascript:
スキームがそのまま有効なら 閉じタグ不要でXSS可能。alert(1)
によるPoCは安全で目視確認もしやすく、XSSの検証に最適です。
✅ まとめ
このラボを通して、「href属性に反映されるユーザー入力」が無防備である場合、どれだけ簡単にXSSが成立するかを学びました。JavaScriptスキームは典型的な攻撃手法なので、ユーザー入力に javascript:
を使わせない対策が重要です。
Best regards, (^^ゞ