読者です 読者をやめる 読者になる 読者になる

text/plainでも外部からの入力をそのまま出すのは危ない

IE には Content-Type が text/plain でも HTML っぽかったら HTML として扱うという、有名なお節介機能があるので……

最低でもContent-Type:ヘッダーだけでもSTDOUTに出力しておかないと、たとえプログラムが正常終了したとしてもStatus 500として扱われます。ここではtext/plainでログと同じ出力を返すようにしています。

http://blog.livedoor.jp/dankogai/archives/50780781.html

message= なんてのを渡すと出力は以下のようになって、

2007/03/07 17:45:36 C 192.168.0.xxx   <script>alert(1)</script>

これ、IE6 で試すとスクリプトが動いちゃいました。