何と、パスしてしまった。
問題箇所はあるもののリスクレベルが低く、
現時点では軽微な影響に留まるということで
システムを運用開始できる運びとなりました。
自分でもびっくり。
指摘された内容
1.ロックアウト機能がないので、何度でもログインを試みることができる。
2.ログイン画面のFormで、autocomplete="off" が指定されていない。
3.エスケープ処理を行っていない。プレースホルダーもhtmlspecialcharsも使用していない。
4.入力ルールに反するデータを登録できる。
5.パスワードポリシーに問題がある。
1はロックアウト機能を追加すれば解決できるし、2と3は簡単に修正できる。
4と5は時間がかかったが対応した。
4.入力ルールに反するデータを登録できる。
データ登録画面ではエラーチェックを行っている。
メールアドレスを@なしで登録しようとするとエラーメッセージが表示される。
しかし、脆弱性試験結果のレポートを見ると、
@なしで登録できている。
なぜだろう?
どうやら、ローカルプロキシツールを使用してPOST値を書き変えたようだ。
ブラウザのデバッグツールで試してみると、同じ現象を再現できた。
登録画面 → 確認画面 → 登録完了画面
と遷移するが、エラーチェックは登録画面と確認画面の間で行い、
確認画面と登録完了画面の間では行っていない。
確認画面の値をデバッグツールで書き変えると、入力ルールを満たさない値を登録できた。
そこで、確認画面と登録完了画面の間でもエラーチェックを行うようにシステムを修正した。
5.パスワードポリシーに問題あり
脆弱性試験を行う人が操作し易いようにと思い、
ログインパスワードをアルファベット1文字にしてあげたところ、
パスワードポリシーに問題ありと認定された。
アルファベット、数字、記号の各1文字を含むこと。
アルファベットは大文字と小文字を区別すること。
これらのルールを満たすようにシステムを修正せよとのこと。
パスワードはDB内のテーブルに保存しているので、システムを修正する必要はなく、
指摘されたルールを満たすパスワードに変更した。
しかし、なぜか顧客からはシステムの修正を要求され、
パスワードを変更するだけで済むことを説明するのに骨が折れた!
脆弱性試験@ -試験前-
脆弱性試験A -実施中-
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image