FirefoxのアドオンNoScriptで、Facebookのシェアボタンを押すとXSSとして認識される件。
2012.03.02
先日より、FirefoxのアドオンNoScriptを利用している状態で、Facebookのシェアボタンを押すとXSS(クロスサイトスクリプティング)の可能性としてアクセスが遮断される様になりました。
ここ数回、アップデートがあったのですが、その当たりからおかしくなっています。
そこでいろいろ調べてみたところ。当方のブログのファイル名が、xxx_xx_xx.htmlとなっており、アンダーラインを含むURLが問題を起こすことが分かりました。回避策として、ファイル名をxxx-xx-xx.htmlというように、アンダーラインを利用しないようにすれば問題が起きませんでした。
NoScriptのためにシステム全体を変更するのも億劫なので、そのまま様子をみますが、ちょっと困りますね。アンダーラインは、正規表現で\wで処理できるし、ファイル名として使える文字列としても有効なので、何とかしてもらいたいものです。
ちなみに、アンダーラインをURLエスケープしたり、数値文字参照にしてもだめでした。とりあえず様子見です。
[2012/03/10追記]
2012/03/10のアップデートで、修正されたようです。
修正前は、コメントにもあったシングルクォートも問題ありましたが、実は、アンダーラインの数が一つ少なくなると、XSSの警告が出なくなるのです。この誤検知がなくなったのは、大変たすかることです。それでも、数日間無駄にしたことに、違いはないのですが…
このページのShareボタンで確かにNoScriptが反応しますね。
調べてみたところ、アンダーラインではなくブログタイトルの「Wisp's Garden」の「'」とShareのURLに付加される「src=」という文字列に反応している気がします。以下で反応します。
wispblog.tree-web.net/'src=
「'」で属性を区切り、「src=」で外部のスクリプトを読んでXSSしようとしているな、とNoScriptが勘違いしているみたいです。
対処の参考にして頂ければ幸いです。