[PHP-users 12985] Re: HMTML Tag の回避策 (Re: PHP-users 保存書庫の文字化け)

Hideo NAKAMITSU php-users@php.gr.jp
Tue, 4 Feb 2003 15:38:53 +0900


中満です.

> これなんですが、'<', '>' を用いずに JavaScript を紛れ込ませるってど
> うやるのでしょう? ちょっと考えた限りでは思いつきませんでした。

出力後のHTMLが以下のようになる場合など危険です.

http://host/?shop.php?code=001
にアクセスすると

<script>
window.open("http://example.com/koukoku.html")
<input type="hidden" name="code" value="001">
あいうえお
</script>

のようなHTMLが出力される場合は<>なしでXSSが成立してしまいます.

JavaScriptを使いまくったページだとこんなこともあります.
あと,正確に処理していてもブラウザ依存でXSSが起きることもあります.
今はどうだか知りませんが,Content-type: text/plainでもタグを
認識するIE君のような場合とか.

サニタイジングのみに気をつけるのではなく全体の構成を把握することが大事ですね.

/* -----------------------------------
Hideo NAKAMITSU <nomo@bluecoara.net>
http://solaris.bluecoara.net/
----------------------------------- */