ネタ::過激な過激なエスケープ失敗

ネタだって?

本稿はネタです。大部分についてまじめに受け取らないでください。もしもチョッピリ考えるべきところがあれば幸いです。

過激なエスケープの限界(笑

安直になんでもかんでも過激なエスケープをしたからといって、これでもう安心だぁ、とかいうXSS対策にならないことが・・・あるのは当然周知の事実だと思います。(何度もいいますがコレはネタです。)


<button onclick="ユーザデータ出力">push</button>
ユーザデータ出力として、

alert(99)
が来ちゃうとヤバイヨ?だったら過激なエスケープすればいいじゃん!・・・ということには、ならないわけで。実際、ちょっとだけエスケープして試してみます。試すまでもないけどネタですから。ユーザデータ出力をエスケープして・・・

&#97;lert(99)
としても、やはり期待通りにalert(99)されるわけで。じゃぁもうすこし過激にしたらどうなるん?

過激な過激なエスケープの限界(笑


&amp;&#35;97;lert(99)
と、二重に文字参照しちゃえば超安心?・・・ネタですから。
でもね、でもね、これでもalert(99)されるブラウザがあったのですよぉ!
OPERA9.02 Build8585 on XPsp2 で。XHTMLで試しました。いやぁ奥が深い。