hidden書き換えで単価の変更できるサイト
昨日の日記(hiddenのあまりにも馬鹿げた使い方 - ockeghem(徳丸浩)の日記)では、yohei-y:weblog: ステートレスとは何かを引用させていただいて、hidden書き換えの危険性を説明した。その例として、ECサイトにて単価が変更できる場合を挙げたのだが、「本当にそんなサイトあるのか?」という疑問、ないし驚きをもたれた方も多いようだ。
私が直接見た中でも、単価をhidden(ないしCookie値)で平文で保持していて書き換えのできるECサイトはいくつか経験している。しかし、実際に1円で購入できるかどうかは試したことはない。犯罪行為になる可能性が高いからだ。
現実には、そのようなしょぼいサイトは、バックオフィス作業は手作業でやっているケースが多いと思う。よくあるのは、注文内容が担当者にメールで飛んできて、担当者がEXCELかなにかで手集計して商品手配やら入金確認なら発送をしているケースだ。このような運用であれば、単価は参考のため、あるいはお客様に表示するためにのみ使っていて、EXCELでの集計には使っていないのかもしれない。現実問題としても、価格が1円になっていたら担当者が気づくだろう。
日経オープンシステムの2000年12月号には、「狙われるWebアプリケーション」(高橋信頼記者)としてWebアプリケーションセキュリティの先駆的な紹介記事が出ているが、その一部を引用する。
「危うく,価格詐称をしてしまうところだった」−−あるセキュリティ専門家は打ち明ける。彼が行ったのは,あるECサイトで,価格データを書き換え注文するという操作である。「もしや」と思い試しに送信したデータは何ごともなく受信され,通常通り注文データが作成されてしまった。
セキュリティ専門家は慌てたが,幸いなことに,打ち出された請求書の価格間違いに気付いたECサイトの担当者から「申し訳ありませんが,請求金額を訂正させていただけないでしょうか」という丁重な電話がかかってきた。担当者は,なぜこんなことが起きたのか,全く分からなかったようだったという。
今だったら、その「セキュリティ専門家」も、こんなことはしないだろう。僕も、脆弱性診断以外ではここまではやらない。いずれにせよ、2000年当時は、こういうサイトは珍しくなかったのだ。
現在はどうか。前述のように、どこまで詐称できるかどうか、実際に1円で物品が購入できるかどうかは別として、hiddenフィールドに単価を保持していて書き換えが出来るサイトは、「珍しいがたまに見かける」くらいには存在する。
すなわち、ネッシーではないが、イトウくらいのレベル(実在を疑う人はいない)での「幻の魚」なのだ。だから、最近脆弱性診断を始めた若いエンジニアが、これを見つけると、「徳丸さん、出ました」と嬉しそうに報告しに来る。そういうところも、「幻の魚」というたとえがふさわしい。