Mission
サポートポータルの3つの入口をまとめて塞げ
初級編を終えた人向けの復習問題です。サポート担当者向けポータルには、認証クエリ、チケットコメントのHTML描画、ログイン後の handoff リダイレクトが同じ server.js にまとまっています。1つだけ直してもクリアにはならず、3つの入口をすべて安全にしてください。
入力が SQL / HTML / URL 遷移先という別々の文脈へそのまま渡されています。文脈ごとの防御、つまりプリペアドステートメント、HTMLエスケープ、内部パス限定を使い分ける必要があります。
脆弱性
Composite Review
難易度
Hard
状態
available
Difficulty
出題モードを選ぶと、プレビュー有無・ヒント・スコア上限が変わります。
現在ステップ: Step 1状態: 未開始
次にやること: 攻撃テストを実行
Step 1
攻撃テスト
自動攻撃またはプレビューで、ログイン突破・コメントXSS・外部リダイレクトが起きることを確認しましょう。
現在のサーバー状態(未修正)
Live Preview
Support Portal / review-1
POST /agent/login + GET /tickets/:id + GET /handoff
RV
Support Portal
3つの入口を個別に再現
自動攻撃で検証
未実行$ automated-attack
使用ペイロード: ' OR 1=1-- / <script>window.__pwned__=true</script> / https://evil.example.com
ボタンを押すと、左のプレビューを手動で操作しなくても 脆弱性の有無を即座に判定します。
複合攻撃を実行し、3つの弱点がすべて塞がれているかを検証します。