« 2007年06月 | 過去ログ一覧 | 2007年08月 »

2007-07-03 (Tue)

入力文字数の制限を可視化する JavaScript

好評の、読み込ませるだけシリーズ の8番目。

maxlength 属性とかアプリケーション側とかでフォームの入力文字数を制限していても、ユーザにとっては自分が何文字くらい入力したかがわからないと不便そうなので、汎用的なのを作りました。

フォームにフォーカスが当たると、入力した文字数と入力可能な文字数が表示され、リアルタイムに更新されていきます。

» 続きを読む...

△トップ | コメント (0) | トラックバック(1)

2007-07-11 (Wed)

Greasemonkey スクリプトは安全ではありません

Webアプリケーションセキュリティフォーラム の奥さんと高木先生のバトルより。

高木先生
ええと、「クッキーが漏洩する程度なので問題ない」と聞こえたような気がしたんですが。

Greasemonkey には超絶便利な GM_xmlhttpRequest があるので、どのウェブサイト上でスクリプトを動かそうが、あらゆるサイトにアクセスする事が可能です。この観点から考えると、クッキーが漏洩するどころの騒ぎではありませんし、スクリプトを有効にするドメインが限られていた所で大した意味はありません。例えば Google Search を便利にするようなスクリプトに、mixi のパスワードを任意の値に変更させるようなトロイを仕込む事も難しくないでしょう(実際に作って試しました*1)。もちろん対象サイト上に、XSS や CSRF の脆弱性がなくとも、です。

もう何度となく言われていますが、Greasemonkey も userChrome.js も拡張機能もみんな危険です。危険性を認識した上で利用するべきです。

拡張機能に関しては、AMO からインストールする限りにおいては安全が保証されている(はず)なので、野良拡張機能を利用しなければ気にする必要はありませんが、Greasemonkey や userChrome.js には安全を保証する仕組みはないので、常に気を付けておいて然るべきです。

具体的にどんな点に気を付けるべきかと言うと、Greasemonkey の場合は Greasemonkeyスクリプティング TIPS&SAMPLES と言う書籍にちょろっと書いてあります :-P 結局ソースを開いて中を確認する必要があるのですが…。

  1. document.cookie
  2. GM_xmlhttpRequest
  3. 無関係なページのURL
  4. 難読化されていないか

Greasemonkeyスクリプティング TIPS&SAMPLES P.27

他には、外部スクリプトの呼び出しなんかにも注意した方が良いです。ある日危険なプログラムに変身しているかもしれません。

この五つくらいに注意すれば、ほとんどの場合は大丈夫でしょう。と言うか、これでダメな例が思い付かないので、他にも注意するべき点があればコメントなりトラックバックなりで教えて下さい。

userChrome.js に関しては、何が出来るかあまり知らないので何も言えません。インストールすらしてないし。

しかし、こんな良さそうなイベントがあったなんて全然知りませんでした。資料を読むには FAX を使った会員登録しないといけなくてなんかちょっとめんどくさげなのは、是非何とかして下さい。

  • *1: 余談ですが、GM_xmlhttpRequest でちゃんと POST 出来なくて一時間くらい悩んだ上に、いつの間にかパスワードの文字数制限が変わってて、元のパスワードが使えなくなった

△トップ | コメント (2) | トラックバック(0)

2007-07-17 (Tue)

Web標準の日々に行ってきました

あんまり書くようなネタがあったわけじゃぁないので、UDX の会場の場所がわかんな過ぎてヤバかったとだけ言っておきます。Firefox のセッションにめちゃ遅刻してしまいました。ごめんなさい。

あとは iGoogleガジェットコンテスト のネタは考えておこうと思いました。

帰りにヨドバシの上の方に視力を検査してくれる機械があったので試してみたら、右左共0.4、両目が0.5で、近くの視力ってのが1.5でした。これは良いパソコン眼。

追記:

ちょっと待った。Firefox のセッションに出てたのって、俺以外みんな関係者だったのかよ! アンケート適当に書いて名前まで書いちゃったよ恥ずかしい!

http://piro.sakura.ne.jp/latest/blosxom/event/2007-07-17_webstandarddays.htm

そして始まるMozillaのセッション。観客は全員銀色の入場チケット(=スタッフとして入場した関係者)。それも10人いるかいないか。終わりの頃には一人二人緑色のチケットの人(一般客)もいたけど、うち一人はGOGAの小山さんでめっちゃ関係者。

△トップ | コメント (0) | トラックバック(0)

2007-07-22 (Sun)

他サービスの ID とパスワードを預ける場合

とあるBサイトを利用するためには、AサイトのIDやパスワードが必要、っていうサービスがありますよね?

そんなBサイトを利用する場合は、Bサイトの管理者が信頼出来ればOKって発言を見掛けたりしますし、Bサイトの管理者が俺を信用しとけ、とか言ってる場合すらありますけど、結局の所Bサイトのサービスに脆弱性があったりとかクラックされたりとか考え出すと、人間を信用したとしてもまだまだリスクはそれなりにあるんじゃないかと思いますが、どうなんでしょうか。

Aサイトのアカウント情報を盗みたかったら、AサイトとBサイトの両方を攻撃すればいいんだから、確率も高まりますよね。

こういった事まで言及している例を見た事がなかったので、書いてみました。

と言うわけで、mixi はもっと API を公開すれば良いと思います。

△トップ | コメント (0) | トラックバック(0)

 
Copyright (C) Kyosuke Takayama, Some rights reserved.