ウェブアプリケーション・セキュリティチェック メモ☆
SECGURU:
Web Application Testing cheatsheet
の日本語訳とその他チェック項目のメモです。
ウェブアプリケーション・テスティング・チートシート
- 1. アプリケーション名とバージョン
- 2. コンポーネント名
- 3. 通信プロトコル SSLならばバージョンと暗号方式
- 4. パラメーターのチェックリスト
- URLリクエスト
- URLエンコーディング
- クエリストリング
- ヘッダー
- クッキー
- フォーム
- フォーム(Hidden)
- クライアントサイドでのヴァリデーションチェック
- 使用していない余計なパラメータの存在
- 文字列長の最大/最小値
- 連結したコマンド(Concatenate commands)
- 5. コンテンツおよび機能へのアクセスポリシーの設定
- 6. アカウントの管理
- パスワードの保管方法
- パスワード変更フローは安全か
- ユーザー情報の更新フローは安全か
- パスワード強度は十分か
- ロックアウトの基準は設けられているか
- ログイン試行の許容回数制限は設けられているか
- 7. セッション
- トークンの保護
- セッションの有効期限
- アイドル時間の有効期限
- セッションIDのフォーマットは適切か
- URLで送信しているかBODYで送信しているか
- セッションIDはIPと関連付けて管理しているか?
- リファラータグの変更
- 8. バックエンドの認証
- 信用関係
- 暗号化
- パスワードをHTMLに平文で書いていないか
- パスワードを設定ファイルに書いていないか
- 9. XSS クロスサイトスクリプティング
- 保存されるタイプか反復するタイプか
- 404/500エラーページを表示するときに出している情報をチェックする。
- 入力値のヴァリデーションチェック
- 10. 設定ミス
- Webサーバ用セキュリティスキャナ Niktoでチェック
- セキュリティスキャナ Nessusでチェック
- パッチの適用
- ディレクトリが見えてしまわないか
- ディレクトリのパーミッション設定
- エラーメッセージ
- デフォルトで有効なアカウント
- 認証機関の設定
- 設定ファイル・デバッグ用ファイル
- 最新の脆弱性情報をチェックする
- 11. 副次的なもの
- バックアップファイル
- デフォルトファイル
- サービス
- 管理者のアクセス権限更新
- 12. アクセス制限の欠陥
- 13. パスの乗り換え
- 14. クライアント側のキャッシュ
- ヘッダー情報のチェック
- メタ属性のチェック
- 15. ファイルの権限を決める
- 16. SQLインジェクション
- 複製したウェブサイトからの全ての入力パラメータ偽造
- データベースへの接続情報が見えないか
- エラーメッセージ
- WEBサーバやデータベースへアクセス特権を与えているか
- 17. OS呼び出し
- インタープリタを使用しているか?
- OS サービスを呼び出しているか (例: Sendmail)
- OS呼び出しが外部からアクセスできないようになっているか
- 他のサービスやWEBサーバにアクセス特権を与えているか
- 18. エラーメッセージからアプリケーションのロジックなどを推察される可能性があるので、情報を漏洩していないか完全にチェックする。
- 19. バイナリコードを解読されても安全か(もしあるならば)
- 20. 重要なデータは暗号化してあるか?
- 21. 調査すべきもの
- トークン
- クッキー
- SSID
- シリアライズされたオブジェクト
- 22. アクセス元
- 通常ユーザー
- 管理ユーザー
- その他
- 23. ブルートフォース攻撃を発信しているアクセスポイントを拒絶する仕組みはあるか
- 24. 偽造トークンによる認証パスに対応しているか
- 25. 多重アクセス攻撃に対応しているか
- 26. 強制ブラウジングに対応しているか。アプリケーションはユーザーの追跡リクエストをチェックしているか。
その他
元が英語だけに、これは日本語問題に対応していません。
思いつく項目を追加してみます。
- 27. 日本語に対応しているか
- HTMLのエンコード指定
- シフトJIS拡張文字
- URLエンコード
- 半角カナ
- 文字数のカウント
- 28. モバイルコンテンツ
- 携帯絵文字
- 白ロム問題
順次追記します!
GalTonkatsu 2006 Allright reserved.