水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2003年のえび日記 > 2003年12月 > 2003年12月11日(木曜日)

2003年12月11日(木曜日)

ホームページ・リーダーでイメージマップを読む

更新: 2003年12月12日

IBM ホームページ・リーダー (www.amazon.co.jp)は、通常のモードでイメージマップに出会うと「2個のマップの先頭。」などと読み上げて、イメージマップがあることだけを伝えて読み飛ばします。イメージマップ内の各リンクを利用したい場合は、行読み上げモードやリンク読み上げモードを使用します。

モードを変えて改めて読み上げると、イメージマップ内の各 area をそれぞれ a要素と同じようにして読み上げて行きます。

ここまでは問題ありません。しかし、area に nohref 属性が指定され、かつ alt 属性に空でない値が指定されていると問題が起きます。そのような area は他の area と全く同じように読み上げられるのですが、リンクをたどろうとしたところで初めて「リンクがありません」と言われてしまうのです。

これは混乱を招くので、nohref には気をつけた方が良いかも知れません。nohref には常に alt="" を指定するようにすればある程度避けられますが、その場合でも「n個のマップの先頭」と読み上げられる n の数と実際のリンクの個数が食い違うという問題が起きます。

※また、既知だと思いますが一応書いておくと、「altのないイメージを通知する」が有効でない場合、alt="" の指定されている area は全く利用できなくなります。

※2003-12-12 追記 : alt="" が指定されているのではなく、alt 属性自体がない場合は URL が読まれるようです。ロックマンさんご指摘ありがとうございます。

関連する話題: Web / アクセシビリティ / UA / ホームページ・リーダー

IEホゥル : NUL文字攻撃で URL 表示捏造可能

更新: 2003年12月11日

信蔵さん (shinzlogclips.blogspot.com)に教えて頂いた情報ですが、

「http://www.microsoft.com^A@」の後ろに 好きなページの「http://」以下をくっつけてIEにURLを貼り付けると 全部MicrosoftのURLになっちゃう。

IEのバグらしいよ。だから他のブラウザじゃ出来ません。

以上、hanazucさんのNOT WILD STYLE より

※^A とした部分は、引用元では NUL 文字。

……という話があるようで。これ、私の環境でも見事に再現しました。

URL 自体は userinfo を含むものとして正常に扱われているのですが、URL 表示欄では NUL文字から後ろが切れているわけですね。その結果、URL 表示欄には NUL 文字の前しか表示されないと。GET される URL 本体に NUL文字が入っている場合はサーバ側で駄目なので問題なかったりしますが、userinfo の中に NUL 文字を混入すると GET は正常に行われると。

内部的には正しい URL が認識されているようで、クロスドメインのセキュリティモデルが破れるには至っていないのですが、URL 表示欄を誤魔化せるということ自体が問題です。たとえば、銀行のログインフォームそっくりなページを作っておいてこの方法でアクセスさせれば、銀行のログインフォームそっくりのページが表示され、URL 表示欄には本物の URL が表示されているという事が可能なわけで。

※もっとも、捏造しようとする URL に / が含まれると userinfo の一部とみなされないので、ドメイン直下の URL でないと捏造できません。

※……と思ったのですが、撤回。単に %2f を使うだけでクリアできました。何でも捏造し放題です。yamamoto さんご指摘ありがとうございます。

これはちょっとまずいなぁ。

※追記。「IEにURLを偽装できるパッチ未公開の脆弱性が発見される (internet.watch.impress.co.jp)」という記事が出ていますね。「ただし、まだ攻撃コード(exploit code)が発見されていないことから緊急度は低く」っていったい……。こんなの 1分でできるんですが(えび日記を MS の URL に見せかけるテスト)。

関連する話題: Web / セキュリティ / Internet Explorer

最近の日記

関わった本など