トップ «前の日記(2006-01-16) 最新 次の日記(2006-01-28)» 編集

"週"記

日記?ムリっ。
半年1回の更新を目指すよう心がけます。
RSS

WebAppSec

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|07|08|09|12|
2008|01|02|
2009|04|
2010|02|

履歴


2006-01-20

_ [etc] Firefox の動作

Cookie を発行してくれるサイトがあって、そのサイトに普通にアクセスしているときは Firefox が Cookie を送ってくれてるとします。

まず、その Cookie を送っている URL を img タグに埋め込んだ HTML ファイルを作っておきます。

<img src="http://www.example.com">

Cookie を送受信するサイトにアクセスして何度かリロードし、Cookie が送られていることを確認した上で、この準備したファイルをそのまま開くか、どこかのサーバに置いてアクセスすると、自動的にhttp://www.example.com/ にアクセスします。

そこで、そのとき送られてるリクエストをよく見てみると、Cookie が送られていませんでした。

  • Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20051214 Firefox/1.0.7
  • Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8) Gecko/20051111 Firefox/1.5

この2つのバージョンでこの動作を観測できたのですが、そういうものでしたっけ?ちなみに、img だけじゃなく、frame とか iframe とか input とかも試しましたが、同様の動作でした。どうやら、

<hoge src="http://www.example.com/">

というように、src 属性で指定している場合は飛ばないっぽいです。でも、

<link rel="stylesheet" href="http://www.example.com/">

の場合は、Cookie を送ってくれてました。

CSRF 被害軽減には役立ってないみたいです。

_ [etc]

文字列の HTML エンコーディングについて

HTML や ASP のソースコードをそのままクライアントに表示したい場合、そのまま出力したのでは「<」、「>」、「&」、「&quoe;」などの文字をタグやスクリプトと判断してしまい正しく表示できません。このような場合には、HTML 文字列を表示可能な文字列へエンコーディングする必要があります。

逆にして欲しい。確かにこれはエスケープ漏れする場面が多そう。隣の人の話では、もっとめんどくさいことをしないとエスケープできないコントロールもあるとのこと。

本日のツッコミ(全3件) [ツッコミを入れる]
_ masa (2006-01-20 20:16)

> HTMLエンコーディング<br>もしかしたらASP.NETの仕様上なかなか難しい問題なのかもしれません。Label.Textプロパティの本来の情報はエスケープされていないテキストで、エスケープをデフォルトにしてしまうと、プログラムで取得する時にエスケープされている状態のテキストが取れてしまう。とかの問題が起こるのかも。今、思いつきました。

_ masa (2006-01-20 20:36)

思い込みが甘かった。でした。

_ masa (2006-01-22 15:44)

> FireFox<br>Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.10) Gecko/20050717 Firefox/1.0.6<br>では飛びました。<br>1.0.7のリリースノートにこの挙動の変化に関する記述はないみたいです。

お名前:
E-mail:
コメント:

投稿する前にチェックボックスをチェックしてください


無料アクセス解析