ブログデビューしたてのテットリです。やるからにはいろいろ便利ツールも知りたいと思いブックマークレットについて調べていたのですが、ある事に気付き実験してみたところ、簡単にfacebookのパスワードが抜けちゃうくらい危険なものにもなり得る事が分かりました。
とても便利な仕組みでどんどん使って行きたいのに、こういう事でユーザが減ることに成るのはもったいないなーと思い、始める前の予備知識として記事にしてみました。足りない情報などがあればコメント頂けると嬉しいです。
実際にブックマークレットを作ってみます
まずはこちらをご覧下さい。
javascript:(function(){alert(document.forms[“login_form”].elements[“pass”].value);})();
ちょっと見にくいので、下記に整形されている同じコードを書いておきます。
javascript:( function(){ alert(document.forms["login_form"].elements["pass"].value); } )();
javascriptに慣れている方ならすぐに分かるかと思いますが、これは、webページの特定箇所の情報を表示させる事ができるコードです。これから作るブックマークレットはこのコードを使用します。
ブックマークレットからFBのパスワードを抜く
- 上のコードを埋め込んだこちらのブックマークレットをドラッグ&ドロップでブックマークします。
show FB pass←これをドラッグ&ドロップでブックマークバーへ - 次にfacebookへアクセスし(ログインした状態であれば、一旦ログアウトし)下記画面になったことを確認します。
(まだアカウントを作成されていない方や、パスの保存をされていないかたは、パスワードの枠が空白になっています。その場合はテスト用に適当に何かいれた後で先に進んでください。) - 1.で作ったブックマークレットをクリックします。
ここであなたのパスワードが表示されていれば、成功(?)です。
パスワードの表示させる機能なんてよくあるじゃない!
パスワードを忘れてしまったユーザへの救済措置としてのパスワード表示機能をたまに見かけますが、それと今回のものが決定的に違うのは、この機能が他人が作ったプログラムによるものである、ということです。
今回はfacebook限定で、しかも「表示だけ」でしたが、それをどのサイトでも関係なしに「password属性の内容をまとめて裏でどこかに送信」であった場合はどうでしょう?jsになれたユーザなら10行もあれば作れてしまうと思います。
安全なものを見極めるには?
ブックマークレットはhtml内に<script>タグを記述するようなものなので、結局のところ安全なものを見極めるには、プログラムを読んで流れを追うしかないと思います。(上の実験でも分かる通り、短くても危険なものは作れてしまいます)
とはいえ、まったく手がかりがないのではせっかくの便利ツールを使う人が少なくなってしまいます。なので、口コミを利用したり、詳しい人にプログラムをチェックしてもらうなど、先人の知恵を借りながらうまく利用していく方法を探ってもらえればと思います。
手前味噌ですが、こういうものもあります
今テットリで検討中なのですが、自前のブックマークレットを作る方法をサンプルコードと一緒に紹介したいと思っています。自分で作るわけですから安全ですよね!また、テットリ独自でも安全なブックマークレットを継続的に公開していきたいと思っています。まだ始めたてですが、是非この際に購読をお願いします!
参考サイト
こちらのサイトの更新日付からするとブックマークレット自体かなり昔からあったみたいですね。すぐに使えるブックマークレットが沢山ありますよ!
JAVASCRIPT::BOOKMARKLET JavaScript::Bookmarklet スクリプト集:このページで紹介しているスクリプトは自由にお使いください。 更新日:2006.10.27 [blog] このページは様々な用途 … |
こちら第三者にデータを送信してしまうサンプルです。僕の場合はパスワードでしたが、ここの場合はクッキーを例に紹介されています。
ブックマークレットの実行によりCookieなどを第3者に送信してしまう危険性を認識する – 情報と音楽 新しい 古い ブックマークレットの実行によりCookieなどを第3者に送信してしまう危険性を認識する 投稿者: labocho2009年7月8日 1:02 AM未分類JavaScript | セキュリ … |