サイト脆弱性をチェックしよう!--第4回:開発工程におけるレビューやテストのコツ(その2) - (page 4)

池田雅一(テクマトリックス)

2007-09-13 20:22

 アプリケーションに意図しない動作をさせるには、入力データに想定していなかったデータを使用するか、想定していないタイミングでページの呼び出しを行う必要がある。従って脆弱性の確認テストでは入力データに想定していなかったデータを使用するか、想定していないタイミングでページを呼び出す以下のようなチェックを行う。

入力データのテスト
想定していないデータ種類のテスト
・数値項目に英字や記号を入れるなどのテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
メタキャラクタのテスト
・「'」「"」「<」「>」「&」「;」「|」「\」など特別な意味を持つデータを入力するテストを実施。
・設計どおりの処理(エラー処理など)がされているかを確認する。
選択肢以外のデータのテスト
・ラジオボタン、チェックボックス、セレクトリストで指定している選択肢以外のデータを入力するテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
Hiddenフィールド、Cookie書き換えテスト
・Hiddenフィールド、Cookieを他の値に書き換えるテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
非常に大きな桁数のデータのテスト
・通常10桁程度しかないパラメータに1000桁のデータなどを入れるテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
境界値前後のテスト
・たとえば、0〜100の値をとる項目に対し、「-1,199,101」といったデータを入力するテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
非常に大きな数字、非常に小さな数字のテスト
・数値項目に99999999999999999999、-99999999999999999999、0.0000000000000001、-0.0000000000000001といったデータを入力するテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
パラメータの削除のテスト
・正常なリクエスト時に送信されるパラメータを削除するテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
パラメータ値削除のテスト
・正常なリクエスト時に送信されるパラメータの値を削除するテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
呼び出しのテスト
処理フローを無視した呼び出し
・たとえば、画面遷移が「ページA」→「ページB」→「ページC」という処理で、ページAにアクセスした直後にページCへアクセスするテストを実施する。
・設計どおりの処理(エラー処理など)がされているかを確認する。
同時呼び出し
・異なるユーザーで同時にログインしてみるなど、異なるユーザーで同時に同じ処理を行うテストを実施する。
・同時に行った処理が別の処理として行われているかを確認する。

 入力データのテストでは、すべてのパラメータ、Cookieをテスト対象とする必要があるが、Javas Scriptでエラーチェックを行っていた場合や、Hiddenフィールドやラジオボタンなどはブラウザでは値の変更ができない。このような場合、「Paros」のようなリクエストを書き換えられるツールを使用したり、保存したHTMLファイルを書き換えてテストを実施する。具体的な方法についてはツールのマニュアルなどを参照してほしい。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    初心者にも優しく解説!ゼロトラストネットワークアクセスのメリットと効果的な導入法

  2. ビジネスアプリケーション

    Google が推奨する生成 AI のスタートアップガイド、 AI を活用して市場投入への時間を短縮

  3. セキュリティ

    「2024年版脅威ハンティングレポート」より—アジアでサイバー攻撃の標的になりやすい業界とは?

  4. ビジネスアプリケーション

    改めて知っておきたい、生成AI活用が期待される業務と3つのリスク

  5. ビジネスアプリケーション

    ITR調査結果から導くDX浸透・定着化-“9割の国内企業がDX推進中も成果が出ているのはごく一部”

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]