XSS Escape Lab

入力が「innerHTML 的に解釈されるとどう見えるか」を、 スクリプト実行禁止のsandboxで安全に確認できます。 同時に「エスケープ後(textContent相当)」も表示します。

ローカル処理 学習/実用 安全デモ
sandboxed
Ready
入力して Render を押すと、危険っぽいパターンも軽く検知します。

As HTML (innerHTML-like)

※ 下は sandbox iframe で表示(allow-scripts なし=JS実行不可)

Escaped (textContent-like)

HTMLとして解釈されないようにエスケープした表示
-

Detected patterns

-
※ ここは「ヒューリスティック(ざっくり検知)」です。未検知でも安全とは限らないよ。

Cheat sheet

  • ユーザー入力をHTMLとして挿入しない:できるだけ textContent を使う
  • どうしてもHTMLが必要なら:許可タグ/属性のホワイトリスト(サニタイズ)
  • 属性値・URL・JS文脈など「文脈ごと」に対策が変わる