検索
特集/連載

Webアプリの入力検証不備──4つの実例とその対策脆弱性が悪用される前に

Webアプリケーションの入力検証に不備があると、セキュリティ上の深刻な弱点になる恐れがある。しかもこうした不備は、問題が起こるまで気付かれないことが多いものだ。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 Webアプリケーションの入力検証に不備があると、セキュリティ上の深刻な弱点になる恐れがある。しかし、こうした不備は、得てして問題が起こるまで気付かれない。本稿では、わたしがWebアプリケーションのセキュリティ評価を行った際に見つかった入力検証の不備の例を幾つか紹介しよう。

ログインIDが含まれたURL

 これまでで最も興味深い入力検証の問題を見つけたのは、自分のさまざまな機密情報を保存していたWebサイトだった。ある日、そのサイトを眺めていて、自分専用のログインIDがURLに含まれていることに気付いた。これはWebサイトの最も基本的な、しかし危険な欠陥の1つだ。わたしは「彼らは分かっていないに違いない」と考えた。そこでサイトの管理者に電話で連絡を取り、問題を報告した。彼女は最初は平然としていた。彼女の態度が変わったのは、彼女がそのシステムの自分専用のIDをわたしに教えた後で、わたしが彼女の住所、誕生日、子どもたちの社会保障番号などの個人情報を次々に挙げてからだ。沈黙の後、彼女は「どうして分かったんですか」と尋ねてきた。わたしは、とても簡単なことだと話し、システムのどのユーザーも、アプリケーションへの入力を操作するだけで、ほかのユーザーの機密情報を見ることができる状態になっていることを説明した。彼女はあぜんとしたが、問題が悪用される前に見つかって感謝していると話した。「悪用される前」であったと願いたいものだ。

教訓

 ユーザーセッションを追跡し、ユーザーの再認証を経なければ、変数を変更するだけの入力操作を許さないこと。もっと良いのは、システム変数をURLに一切入れないことだ。

関連ホワイトペーパー

SQL | XSS | 機密情報 | 脆弱性 | Webアプリケーション | Apache


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る