これはなかなかよさげな。
とてもよくまとまってると思います。では、現状はどうなのか、というのを過去〜最近の経験から。
「住所欄や掲示板への投稿本文欄など、実質的に文字種を制限できない」値に対してはエスケープするなど正しく実装されてることが多いです。それが要件として明記されているのか、単にエスケープしないとデータが壊れるからか、プログラマが意図的に行っているのか、理由はよくわからないですけど。
問題がよく見つかるのは、「電話番号とか、価格とか、メールアドレスのように文字種や桁数などが限定される」値や、もっと値が限定できるはずの「hidden値やselectboxで選択された値」の方だったりします。
なので、次は何に注意して開発をすればいいかと聞かれたら、(当たり前の)入力チェックを確実に行いましょう、と答えるでしょう。根本的なセキュリティ対策ではない保険的な対策なのかもしれないですけど、十分効果が期待できると思います。
ネーミングが悪いから、こういう勘違いした記事が出てきちゃう。画像に限った話ではないし、そもそもサイトをクロスしてないし。
ユーザがスタイルシート(を含んだタグ)を自由に書き込めるようなサイトの場合、画像などの表示位置をスタイルシートで指定してあげることによって、オリジナルのコンテンツを書き換えたように見せることが可能、というもの。
こんな感じ?IE7だとそれっぽく重なってくれるはず。
<img src="images/month.png" style="position:absolute;right:70px;top:21px"> <input type="text" value="お名前をどうぞ" style="position:absolute;right:0px;top:170px;background-color:white;color:black;">
今は自分でやってるからいいけど、もしコメント欄からこれができて、"日"に書き換えられちゃうと、とっても困ることになる。けど、「XSSと同様の影響」としてしまうのは、ちょっと無理があると思う。