*sourceプラグインにXSS脆弱性(IE/Opera限定) *sourceプラグインにXSS脆弱性(IE/Opera限定) [#q24b5485] -ページ: BugTrack -投稿者: [[reimy]] -優先順位: 緊急 -状態: 完了 -カテゴリー: プラグイン -投稿日: 2003-03-11 (火) 07:50:11 -バージョン: source.inc.php 1.6 **メッセージ **メッセージ [#v21eda49] source.inc.phpではソースをtext/plainで出力しますが、&color(crimson){Microsoft Internet Explorer};ではplainなテキストの中にJavaScriptや<object>を埋め込んだ場合でもJavaScriptやActiveXなどを実行してしまいます。Opera 6でも設定によっては同様の問題が発生します(Opera 7は不明)。 :(例)|http://pukiwiki.sourceforge.jp/dev/?plugin=source&page=sample 簡単なIE対策法は、先頭行に<plaintext>((<plaintext>タグはW3Cのhtmlやxhtmlの規格にないタグだが、text/plainで出力している以上、htmlではないのだから問題はない。))を出力すること。 :(例)|http://pukiwiki.sourceforge.jp/dev/?plugin=source&page=sample2 Operaの場合はOpera側の設定で「mime-typeで判断する」に設定しておけば防げるので、PukiWIki側での対策はとくに必要なし(でいいよね?)。 -参考記事:[[Slashdot.jp:http://slashdot.jp/security/02/06/03/0532205.shtml]] ---- -一番の安全策は、差分やバックアップ同様、サニタイズしたうえで<pre>で囲んでhtmlとして出力するパターンかな。 -- [[reimy]] SIZE(10){2003-03-11 (火) 13:09:18} -どうしましょ。とりあえずplugin=backup&action=sourceの出力形式に合わせてしまいますか。 -- [[ぱんだ]] SIZE(10){2003-03-12 (水) 12:41:07} -plugin=sourceの出力を利用してごにょごにょする外部プログラムは動かなくなりますが… -- [[ぱんだ]] SIZE(10){2003-03-12 (水) 12:51:04} --外部プログラム側で対応してもらうしかないような… -- [[reimy]] SIZE(10){2003-03-12 (水) 22:52:30} -とりあえず[[cvs:plugin/source.inc.php]](v1.4:r1.8)(v1.3.3:r1.4.2.1)を上げておきました。ソースをごにょごにょする場合は<pre id="source">~</pre>間を取り出し、HTMLエンティティを復元してください。 -- [[ぱんだ]] SIZE(10){2003-03-13 (木) 15:10:59} #comment //#comment