[
Computer・Network
]
Perlでのクロス・サイト・スクリプティング(XSS)対策についてちょっと調べていたのだが、IPAのIPA ISEC セキュア・プログラミング講座というサイトが、意外にも(といっては失礼か)結構きちんと現実的なことを書いてあって官庁のイメージには似合わずびっくりした。
・Perlのtaintモードはとりあえず最低限。
・ファイル名を通じてのOS command injectionなどの対策としては
・openでなくsysopenを使う
・特殊文字などをエスケープさせるなどしてOS command injection対策
・..など調べてdirectory traversal対策
・HTML、URIサニタイズはCGIへの入力時でなく、最終のHTML出力時に行う。
・HTML::Templateの場合は、ESCAPE="URL" ESCAPE="HTML"を使用。
・Template::Toolkitの場合はもっと強力にエスケープできる。
・mod_perl + Apache::TaintRequestを使うのもよろし。

この記事に対するコメント