マニュアル QA (品質保証)テスター、QA

ウェブアプリケーションの手動セキュリティテストはどのように行いますか?どの脆弱性を確認し、発見した問題をどのように文書化しますか?

Hintsage AIアシスタントで面接を突破

回答。

質問の歴史

サイバー攻撃の増加に伴い、セキュリティテストの重要性が高まっています。手動テスターでも、標準的な脆弱性を見つける能力が重要です。

問題

多くの手動テスターは、セキュリティの問題を自動化テスターやセキュリティ専門家の責任と見なす傾向があります。これにより、ビジネスにとって致命的な基本的なバグが見逃されることがあります。

解決策

手動セキュリティテストは、通常のユーザーの立場から潜在的な攻撃を再現する試みです:

  • XSS, SQLインジェクション, CSRFの確認。
  • クッキーやセッションの操作。
  • 認証や権限制限の違反の試み。

発見したすべての問題は、必ず「バグレポート」のテンプレートに従って、ステップ、期待される結果と実際の結果、重要度を明記して文書化する必要があります

主な特徴:

  • シンプルな手動手法の使用(URL内のパラメータの変更、危険な値の入力の試み)。
  • OWASP Top 10の標準的な脆弱性の確認。
  • エラー処理や生成されるログの仕様を確認するためにDevOps/バックエンドチームとコミュニケーションを取る必要性。

トリッキーな質問。

手動でアプリケーション内のすべての重大な脆弱性を特定することは可能ですか?

いいえ。手動アプローチは明らかな脆弱性を見つけることができますが、完全なカバレッジには自動スキャナーとペンテストが必要です。

セキュリティテストのためにログインフォームとパスワードだけを確認するのは十分ですか?

いいえ。データを変更/保存するすべての機能モジュール、APIとの相互作用、ファイルのアップロード、アクセス権の操作を確認する必要があります。

手動セキュリティテストを行う場合、テスターはHTTPリクエストとレスポンスを理解する必要がありますか?

はい。DevTools、Postman、Fiddlerなどのツールを使用することは、手動でセキュリティの問題を見つけるための鍵です。

一般的な間違いとアンチパターン

  • セキュリティ確認がログインと登録のみに制限されている。
  • すぐに悪用できなかった場合、脆弱性を無視する。
  • バグレポートの標準に違反して見つけた脆弱性を文書化しない。

実生活の例

ネガティブケース

テスターはXSSの有無を確認するためにシステムへのログインだけをテストし、他のユーザー入力フォームやURLパラメータをテストしませんでした。

プラス面:

  • 第一段階のテストが迅速に実施された。

マイナス面:

  • ユーザープロフィール内のSQLインジェクションを実行可能な重大な脆弱性が見逃された。

ポジティブケース

テスターはすべての入力フォームを順にテストし、リクエストのパラメータを変更し、バグレポートに詳細を文書化し、エラーハンドリングについてDevOpsに相談しました。

プラス面:

  • 明らかでないXSSとデータアクセスの脆弱性が特定された。
  • チームに対する問題の完全な透明性。

マイナス面:

  • このテストにより多くの時間が費やされたが、質の確信が高まった。