はてなダイアリーのスタイルシート設定では、セキュリティ確保のため expression 関数は使用できないよう制限を設けさせていただいておりますが、一部ブラウザで、全角文字を利用すると expression 関数を実行できてしまう脆弱性が見つかりましたので、対応を行いました。 なお、はてなダイアリー以外にもスタイルシート設定が行えるサービスが複数ございますが、いずれも対応が完了しております。 ご指摘いただき、大変ありがとうございました。
では、このHTMLタグの無効化(サニタイジング)はどうすればいいかといいますと、皆さんご存知のように、左の表のように置換すれば良いことになります。これは、下記のような文字化け を悪用した攻撃にも効果的です。 例えば、「<」は16進文字コードで「0x3C」です。確かに、「<」で表示される文字(1バイト)なら、Shift_JISでもEUC-JPでもJISでも文字コードは一緒でしょう。しかし、もし「0x3C」を2バイト文字(漢字)の一部であると解釈すればどうでしょうか? Shift_JISやEUC-JPには幸い「0x3C」は現れませんが、JISには現れます。 例えば、「紗」という漢字は、Shift_JISでは0x8ED1ですが、JISでは0x3C53です。0x3C53は、Shift_JISやEUC-JPでは、「1バイト文字が二つある」としか解釈できまず、この場合、「0x3C=<」「0x53=S」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く