なぜ XSS がいけないのか

PHPで誰でも簡単Webサービス製作!でなんか作って公開した奴ちょっと来い - 甘味志向@はてな
XSSとセキュリティリスク - ぼくはまちちゃん!

php

echo "

ようこそ! ".$_GET['id']."さん!!

";

開発側から言うと、文字参照に変換しないで HTML に出力するのは単純に間違っているからですね。文字参照に変換しないコーディングはプラックティスとしてもよくないですし。XSS の CERT Advisory が出たのは前世紀ですし、そろそろみんな正しくコーディングしましょうと。少なくともデフォルトで文字参照に変換しましょうと。

ユーザ側からは、信頼してないサイトに XSS があっても確かに影響は少ないですね。もともと信頼してないわけですし。また、信頼しているサイトに XSS が 1つでもあれば、信頼が減るでしょうね。

初心者の人が練習で Webサイトを公開する場合、サイトに「当サイトでは、セキュリティ対策が正しくなされていない可能性があります」ような告知があればいいのかな?どうなんでしょう?

参考文献

PHP 逆引きレシピ (PROGRAMMER'S RECiPE)

PHP 逆引きレシピ (PROGRAMMER'S RECiPE)

PHPサイバーテロの技法―攻撃と防御の実際

PHPサイバーテロの技法―攻撃と防御の実際

入門PHPセキュリティ

入門PHPセキュリティ

Webアプリセキュリティ対策入門 ~あなたのサイトは大丈夫?

Webアプリセキュリティ対策入門 ~あなたのサイトは大丈夫?