URL 短縮サービスで data スキームを短縮する (良い子はマネしちゃダメ)

あるエントリーを読んで

もうずいぶん前のエントリーですが、TinyURL で data スキームの短縮が出来るなんて知りませんでした。他のサービスはどうなのか、気になったので幾つか調べてみました。

data スキームは通るが http:// が付く

何と data スキームが通ってしまいます。でも、http:// が勝手に付加されます。こんな感じ

http://data:text/html;charset=utf-8;base64, ...

実質無害だろうけど、URL 短縮サービスとしてはスキありなのかもしれない。

data スキームが通ってしまう

結局、data スキームの短縮が出来るのは TinyURL だけでした。時間の無駄でした。

ブラウザ側の挙動

下記のリンクには

<html>
  <head>
    <title></title>
  </head>
  <body>
    <script>
      alert("hoge");
    </script>
  </body>
</html>

が仕込んであります。

Google Chrome*2 は危険な data スキームが短縮された TinyURL を踏んでも、「安全でないリダイレクト」とかいうエラーが出るので安心です。
Opera*3Firefox*4 では実行されてしまいます><

おまけ

さらに、data スキームが短縮された TinyURL を data スキームが通らなかった URL 短縮サービスで入力してみたらどうなるのか。

おまけのおまけ

利用者が多いらしい bit.ly でも通ってしまいました><
data スキームが通るぐらいだから、ドメインでのフィルターなんてやってないか。

*1:zz.tc ドメインの任意の URL を選ぶことが出来るが、既に使用されている URL を指定しても通ってしまうというトンデモな仕様。

*2:LinuxGoogle Chrome 4.0.249.43

*3:LinuxOpera 10.10

*4:UbuntuShiretoko 3.5.7