ん〜ふと思ったけどマニアックな問題を追加すると仮定して

onmouseover=$userdata
を舞台にしておいて・・・

スペースが使えない(onmouseoverとは別の属性の追加になるから)ことを克服するとか。例えば、var strA='yamagata21' とかを実行させる方法を問うてみる。

さらに改行やセミコロンや{}を拒否っておいて、それでも2個以上のステートメントを実行する方法を問うてみる。例えば、alert(0)とalert(1)を順に連続実行させるとか。いや、これはCERT/CCによる対XSSアドバイザリへの批判込みなんだけど。

上記とは別の切り口で、英文字と数字と、\以外のメタキャラクタを全部拒否っておいて、「Hello World!」とかalertさすにはどうしたら?とか。あ、そうだ、よく使われることのある、数字から文字を作る関数はnullっておいて使えないようにしたほうが面白いなぁ。空白とビックリマークの処置に困るよ。(問題集ではあらかじめalertを書き換えて?あるみたいだったから。)

・・・ってマニアックすぎて防衛面での実用とは関係ない世界に突入中・・・orz

yamagataさんのXSSの練習問題に、はまちちゃんが参加登録してたみたいで。関連してたった今ふと思いついたけど、「こんにちは、こんにちは、ぼくはまちちゃん!」というのは、実は、「Hello World!」のはまちちゃんバージョンだったのかな?使われ方が似ているような気がする。