マニュアル探索の仕方
Local Proxes 設定をした Firefox ですべてのページを探索します。
GET で参照可能なページは、 containing urls
のインポート機能や、スパイダーで検出可能なので、 POST で遷移するフォームを重点的に探索します。
Note: マニュアル探索する場合は、途中でログアウトしないように注意してください。 ログアウトしてしまうと、CSRFトークンが変わってしまい、動的スキャンが失敗してしまう場合があります。
テスト中に CSRF トークンが変更されないよう、機能ごとに マニュアル探索→動的スキャン を繰替えすのがコツです。
日本語入力フォーム
カナ氏名など、日本語入力必須な入力フォームは、必ず日本語入力をしてマニュアル探索をすること。 日本語入力をしておくことで、動的スキャンでも日本語を使用して検査をしてくれます。
特殊な遷移パターン
POST の mode パラメータで遷移を制御している場合
フォームの入力 → 確認画面 → 完了画面 といった遷移パターンの機能において、さらに大きく2種類の遷移パターンがあります。
1. 入力画面、確認画面、完了画面が URL で分けられているケース
画面 | 入力画面 | 確認画面 | 完了画面 |
---|---|---|---|
URL | /shopping |
/shopping/confirm |
/shopping/complete |
2. 入力画面、確認画面の遷移が POST の mode パラメータで分けられているケース
画面 | 入力画面 | 確認画面 | 完了画面 |
---|---|---|---|
URL | /contact |
/contact |
/contact/complete |
POST | mode=confirm |
mode=complete |
1 の場合は、特に難しくは無いのですが、 2 のような機能の場合は、次の動的スキャンの際に工夫が必要です。
Note: お問い合わせ画面、会員登録画面などが該当します。
セッションでデータの引き継ぎをしている場合
フォームの入力 → 確認画面 → 完了画面 といった遷移パターンの機能において、入力画面で入力したデータをセッションに格納し、確認画面から完了画面の遷移には入力項目が存在しない(hidden で引き継ぎしない)画面があります。
この場合、フォームの入力 → 確認画面の動的スキャンは可能ですが、確認画面 → 完了画面の動的スキャンは十分にできません。
Note: sequence アドオンや ZAP Script を使用することで、複数画面遷移のテストが可能な場合はありますが、ここでは割愛します。
入力画面で入力した内容を、完了画面で表示するようなカスタマイズや、プラグインを導入している場合は、十分にテストできない可能性がありますのでご注意ください。
Note: 商品購入完了画面が該当します。