水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > msearch におけるディレクトリトラバーサルの脆弱性 > 「msearch におけるディレクトリトラバーサルの脆弱性」へのコメント

「msearch におけるディレクトリトラバーサルの脆弱性」へのコメント

[2656] Re: 「msearch におけるディレクトリトラバーサルの脆弱性」

えむけい (2005年3月11日 23時17分)

脆弱性とは関係ありませんが、Unicode版msearchのページのUTF-16に関する説明が凄いですね。あまりに凄すぎるので思わず掲示板で突っ込んでしまいました【謎】。

あと本家msearchのほうでも、「SGMLの注釈宣言」が物凄い参照のされ方をしていました。

http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=1066

こういう誤解を増やさないように、「SGMLの注釈宣言」のページでHTML4のscript要素やstyle要素に関して触れておいた方がいいのではないでしょうか。

[2657] Re: 「msearch におけるディレクトリトラバーサルの脆弱性」

ばけら (2005年3月12日 11時19分)

>http://www.kiteya.net/cgi-bin/msbbs/padd-bbs.cgi?p=1066

>こういう誤解を増やさないように、「SGMLの注釈宣言」のページでHTML4のscript要素やstyle要素に関して触れておいた方がいいのではないでしょうか。

 はあ、なるほど。HTML4 の script 要素の中に <!-- なんてのがあったとしてもそれはコメントではありませんので、そういう注釈を入れた方が良いですかね。

 そもそも、レガシーブラウザのために script要素の中身をコメント (ではないのですけれど、レガシーブラウザにはコメントのように見えるもの) 化するという習慣は、もう必要ないのではないかと思うのですよね。多くの人は何も考えずにただ惰性でコメント (に見えるもの) にしているのではないかと思いますが……。

[2679] Re: 「msearch におけるディレクトリトラバーサルの脆弱性」

えむけい (2005年3月21日 4時34分)

>脆弱性とは関係ありませんが、Unicode版msearchのページのUTF-16に関する説明が凄いですね。あまりに凄すぎるので思わず掲示板で突っ込んでしまいました【謎】。

なんか無言で削除された上にご利用をご遠慮されてしまったので(名前がNGワードになっていた)、削除された内容をこっちに貼り付けておきます。といっても(まさかこんな物凄い対応をされるとは夢にも思いませんでしたし)書き込んだ内容は保存していなかったので、正確に前回投稿した内容と同じではありませんけど。

------------------------------------------------------------

UTF-16BE, 16LE, 32BE, 32LEはBOMを付けることが禁止されている文字エンコーディングです。BOMがある場合にはUTF-16, UTF-32というcharset名にしなくてはなりません。

http://www.ietf.org/rfc/rfc2781.txt

|Systems labelling UTF-16BE text MUST NOT prepend a BOM to the text.

|Systems labelling UTF-16LE text MUST NOT prepend a BOM to the text.

|MUST label the text as "UTF-16", and SHOULD make sure the text starts with 0xFEFF.

Unicode版msearchはUTF-16, UTF-32の場合BOMがあることを前提にしているようですから、UTF-16BE, 16LE, 32BE, 32LEには「対応していない」というのが正解です。

ページ中のUTF-16LE, 16BEと書かれている箇所はUTF-16に、UTF-32BE, 32LEと書かれている場所はUTF-32に、すべて置き換える必要があります。

トップページ「2. 文字コードの指定」を鵜呑みにしてmetaタグのcharset指定にUTF-16BE, 16LE, 32BE, 32LEを入れてしまった人がいるかもしれませんから、何らかの手段で告知した方がいいかもしれません。

どうしてもbig endian、little endianを区別する必要がある場合(たとえばテストページの

http://www.marbacka.net/msearch/test/innehall.html

> 日本語のサンプル文章(XHTML, UTF-16LE)

> 日本語のサンプル文章(XHTML, UTF-16BE)

> 日本語のサンプル文章(XHTML, UTF-32LE)

> 日本語のサンプル文章(XHTML, UTF-32BE)

という部分)は、

> 日本語のサンプル文章(XHTML, UTF-16, litle-endian)

> 日本語のサンプル文章(XHTML, UTF-16, big-endian)

> 日本語のサンプル文章(XHTML, UTF-32, litle-endian)

> 日本語のサンプル文章(XHTML, UTF-32, big-endian)

のように書くしかありません。UTF-16LE, 16BE, 32LE, 32BEと書くとBOMなしという意味になるため、本当にBOMが無い場合以外書いてはいけません。

(続く)

[2680] Re: 「msearch におけるディレクトリトラバーサルの脆弱性」

えむけい (2005年3月21日 4時35分)

なんか文字数が多すぎると怒られたので分割します。

------------------------------------------------------------

それ以外に、FAQなどを読んでいて気づいた点をいくつか。

http://www.marbacka.net/msearch/faq.html#faq0101

> unicode    Unicode

> ※UTF-16LEもしくはUTF-32LE。BOM有であること。

「unicode」がUTF-32と解釈されることはありません。IEはUTF-32に対応していませんが、U+0000を無視するので、1文字おきにU+0000が入ったUTF-16のファイルとして、偶然読めているだけです。BMP超の文字を含むファイルを読ませてみれば分かります。

http://www.marbacka.net/msearch/faq.html#faq1103

> <a href="#faq1106">ActivePerlを使って作成する方法</a>

リンク先の質問がなくなっています。

http://www.marbacka.net/msearch/faq.html#faq1301

> IE6でUTF-16BE、UTF-32BEで開こうとすると文字化けすることが多いです。特にUT-32BEがひどいです。

http://www.marbacka.net/msearch/faq.html#faq1302

> UTF-16BE, 32BEのページが文字化けして表示されることがある。特にUTF-32BEがひどい。

すでに述べたとおりIEはUTF-32に対応していませんから当然ですね。むしろ中途半端に読めてしまうのが問題かもしれません。

http://www.marbacka.net/msearch/faq.html#faq2109

> UCS-4全文字(0x00000000から0x7FFFFFFFまで)を表現できるのは、UTF-8, 32LE, 32BEのみです。

UTF-32の定義域はU+10FFFFまでで、それ以上の値を含むUTF-32は不正です。

UTF-8も、UnicodeやRFCの定義ではU+10FFFFまでしか表せません。

http://www.marbacka.net/msearch/faq.html#faq2111

> 12.UCS-2とUTF-16とは何が違うの?

> まず規定している規格そのものが違います。UCS-2はISOがISO-10646仕様書で規定している文字コード体系です。 (UCSはUniversal Multiple-Octet Coded Character Setの略です。) UTF-16はUnicodeコンソーシアムが規定している文字コード体系です。

UTF-16はISO/IEC 10646の附属書でも規定されています。

http://www.marbacka.net/msearch/faq.html#faq2207

> <a href="/marbacka/msearch/test/innehall.html">テストページの一覧</a>に

リンクが切れています。

(続く)

[2681] Re: 「msearch におけるディレクトリトラバーサルの脆弱性」

えむけい (2005年3月21日 4時37分)

続き。

------------------------------------------------------------

http://www.marbacka.net/msearch/faq.html#faq2305

> ただしUnicode外の文字(ISO10646のUCS-4では規定されているもののUnicode領域を超えている文字)は扱えません。

JIS X 0213にそんな文字はありませんが…。なぜこの文がここに書かれているのか分かりませんが、削除するか「ISO/IEC 10646の文字は使えますか?」という項目を別に立てた方がいいと思います。

http://www.marbacka.net/msearch/faq.html#faq2314

> <a href="/marbacka/msearch/test/innehall.html">テストページの一覧</a>に

リンクが切れています。それにテストページへのリンクがなぜかコメントアウトされているようですが…。

http://www.marbacka.net/msearch/faq2.html#faq2002

> ※2:JIS2000で規定されている漢字はほとんどが(Version 4.0以降の)Unicodeに収録されています。ただし100%すべて収録されているかどうかはわかりません。

すべて収録されています。また2004年に改訂されたので現在はJIS2000という名称は用いない方がいいでしょう。

------------------------------------------------------------

> 管理人が著しく不利益もしくは不愉快と判断する記事、社会性のない文章・記事、他人を誹謗中傷する記事、公序良俗に反する記事などは予告なく削除します。

とか書かれてたので削除すること自体は全く問題なさげですが、いったいどのへんが問題だったのかマジでさっぱり分かりません。

[2684] Re: 「msearch におけるディレクトリトラバーサルの脆弱性」

ばけら (2005年3月21日 16時26分)

>削除すること自体は全く問題なさげですが、いったいどのへんが問題だったのかマジでさっぱり分かりません。

 何故か懐かしさを感じますね。

 名前が NG ワード指定されていたということから素直に考えると、名前が問題だったのでしょうか。どのあたりが問題なのかはやはり全く分かりませんが。

[3742] 未承認メッセージ (投稿元:211.211.184.230)

vgeq qfltnsem (2006年7月10日 18時26分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

[3743] 未承認メッセージ (投稿元:201.147.158.52)

lvonci xveflq (2006年7月10日 18時41分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

[3779] 未承認メッセージ (投稿元:218.236.150.93)

walmihtns wjzgbs (2006年8月6日 8時11分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

[3780] 未承認メッセージ (投稿元:200.88.223.98)

fgzd dxnwis (2006年8月6日 8時11分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

[3783] 未承認メッセージ (投稿元:218.241.67.35)

cgqtbo hwjd (2006年8月10日 1時53分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

[3784] 未承認メッセージ (投稿元:211.179.82.206)

dqkc mxvgkds (2006年8月10日 1時53分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

新規投稿フォーム

※広告や宣伝の書き込みはご遠慮ください。

:

:

:

最近の日記

関わった本など