2011年7月15日をもちまして、はてなサポート掲示板は新規投稿の受付を停止致しました。
今後は、人力検索はてなの「はてなの使い方」カテゴリーをご利用ください。
※ご要望や不具合のご報告ははてなアイデア、はてなからのご返信が必要な質問はお問い合わせページをご利用ください。
はてなダイアリーXSS対策
はてなダイアリーでは、ユーザーの皆様に自由にHTMLタグやスタイルシートを入力して頂きながら、クッキー漏洩などのクロスサイトスクリプティング=XSS脆弱性の回避のため、以下の処理を行なっています。
- ヘッダ、フッタ、日記本文の表示時にHTMLを解析し、はてなダイアリー利用可能タグに定めるタグおよび属性のみを出力します。
- 利用可能タグに設定されていない属性は削除し、利用可能タグに設定されていないタグの場合には<script>といった文字列に変換します。
- href,src,cite,background 属性で外部 URL が参照される場合、URL が適切な文字で構成されているかチェックを行ないます。
- タグ内の属性値は、「<」を「<」に、といった変換を行ないます。
- スタイルシート内の「\69\6D\70\6F\72\74」といった文字参照を、EUC文字列に置換します。
- スタイルシート内に @i(mport)? (url)?(...)という指定がある場合、
- urlで指定されたCSSファイルの取得に成功し
- urlで指定されたファイルのcontent-typeが「text/css」の場合で
- import回数が10回以内の場合
なお、この機能ははてなアンテナで当初利用可能であった@import機能からの移行をスムーズに行うための措置であり、ページの表示速度も遅くなるため、利用されないことを推奨します。 - スタイルシート内の「\」文字で、その後に続く文字が「'」「"」「{」「}」「;」「:」「(」「)」「#」「A」「*」でないものを削除します。
- スタイルシートを解析し、「javascript」「vbscript」「@import」「cookie」「eval」「expression」「behavior」「behaviour」「binding」「include-source」「@i」の文字列をその文字列が無くなるまで削除します
- スタイルシートを解析し、url(...)で指定された URL が適切な文字で構成されているかチェックを行ないます。
- スタイルシート内の「<」「>」を「<」「>」に変換します。
- スタイルシート内の「*/」を「*/ 」(コメントを閉じた後に空白二個)に変換します。
つまり、基本的な考え方として、HTMLタグは何も使えない状態から利用できるものを限定して定義し、スタイルシートについては、全ての記述の中から利用できない文字列を定義するという考え方です。
これは、悪意のある利用者によってcookieの値が漏洩し、なりすましなどの悪用が行なわれることを防ぐことが目的であり、安心してはてなをご利用頂けるための措置です。
一部制限のために不便をおかけしますが、ご了承ください。
* はてなダイアリーキーワード:はてなダイアリーXSS対策
- 2007-12-05
- 2006-08-22
- 2004-07-30
- 2004-07-00
- 2004-05-01
- 2003-02-05
- 2004/05/01 18:34:10 はてなアンテナXSS対策
- 2006/02/23 16:28:49 はてなダイアリーXSS対策
- 2007-05-14 11:25:08 はてなグループ - tadasato-sampleグループ - sample
- 2006-10-04 10:53:55 はてなグループ - side - 2006-10-04
- 2006-09-21 12:19:26 hatenadiaryの日記
- 2006-05-16 07:09:30 はてなグループ - ひよこの会 - リンク集:ゴースト系
- 2006-05-01 18:31:07 a24lovewebの日記
- 2006-04-12 16:25:34 Sky Above, Slope Below.
- 2006-02-23 21:35:28 はてなダイアリー日記
- 2005-11-15 22:32:45 q10の日記
- 2005-11-14 22:33:22 はてなダイアリー日記
- 2004-12-27 04:25:15 香雪ジャーナル

