今年もプラチナチケット($1,895)が無料で購入できる欠陥があったそうです。
Superimposing Nothing Nowhere: Another Free MacWorld Platinum Pass? Yes in 2008!
どんな方法で無料で買えたのかと言うと。。。
- Apple(もしくはExpo主催者のIDG)は、チケットを無料(もしくは割引)で購入するための「Priority Code」と呼ばれるパスワードみたいなものを、上客の人達に郵送 or Eメールで配った。
- Webサイト上の購入ページで、「Priority Code」を入力すると、無料(もしくは割引)で購入できるようになっていた。
- ユーザが入力した「Priority Code」が正しいかをJavaScriptで検証できるように、発行した「Priority Code」の全て(1500個ほど)のMD5ハッシュをWebページ内に埋め込んでいた。
- HTMLページ内のMD5ハッシュをローカルのPC上でクラックして、正しい「Priority Code」を入手できた。
というようなことのようです。
攻撃するためにMD5ハッシュのクラックが必要だったことから、「Priority Code」の検証処理はサーバサイドでも実装されていたのだと思います。
しかし、「Priority Code」が比較的シンプルな文字列であり、また攻撃者がそのハッシュを入手できたために、ローカル(自分のPC上)でクラックできてしまったのでした。
ローカルでのクラックは、オンラインでのクラックに比べて、高速で、ターゲットに気付かれることがなく、ロックアウトなどをされることも無いため、攻撃者にとっては非常に都合が良いです。
世の中にこんなアプリケーションは殆ど無いでしょうけども、デザインレベルの欠陥の例として興味深いです。
ところで、上記の欠陥は、去年のMac Worldサイトの欠陥と殆ど同じなのだそうです。IDGは、余り直す気がないのかもしれません。