Open1

ウェブ・セキュリティ基礎試験(徳丸基礎試験)⑪

445445

徳丸基礎試験勉強まとめ⑪

「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」の7章を自分なりにまとめる
アドバイスや間違い指摘など歓迎です

7章 「脆弱性診断入門」

7.1 脆弱性診断の概要

  • OWASP ZAP
    • 脆弱性診断ツール
  • NMAP
    • port scan
  • Open VAS
    • プラットフォーム脆弱性診断ツール
  • RIPS
    • PHPソースコード診断ツール

7.2 脆弱なサンプルアプリケーションBad Todo

割愛

7.3 診断ツールのダウンロードとインストール

割愛

7.4 Nmapによるポートスキャン

手順

  • 診断対象のホスト名かIPアドレスを入力
  • スキャンプロファイル選択(TCP全ポートをスキャンする、などを選択)
  • 必要ならオプション設定

結果

  • どのポートが公開されているか

7.5 OpenVASによるプラットフォーム脆弱性診断

手順

  • 診断対象のホスト名かIPアドレスを入力

結果

  • 危険度(Low, Medium, High)とその説明(phpinfoがアクセス可能、など)

7.6 OWASP ZAPによる自動脆弱性スキャン

手順

  • OWASP ZAPの設定
    • 診断対象のURL, セッションを追跡するためセッションID登録など
  • セッション情報の設定
    • 自動ログイン設定、ログイン状態を検出する設定、自動ログインに使用するユーザー名設定
  • クローリング
    • Webページを巡回して、サイトのページ構成を記録
  • 自動診断
    • スキャン開始
  • 診断結果確認
    • アラートタブで検出した脆弱性一覧を確認
  • 診断報告書作成
  • 診断の後始末

7.7 OWASP ZAPによる手動脆弱性診断

手順

  • 画面一覧表作成
    • クローリングで取得したURLをExcelにコピペし、診断が必要なURL以外を削除
  • 診断作業
    • https://www.ipa.go.jp/files/000017319.pdf
    • 上記などを元に、URLごとに必要な診断作業をExcelに記載
      • SQLインジェクション診断: シングルクオートを入力
      • HiddenパラメータのXSS診断: スクリプトをhiddenパラメータに記載
      • CSRF脆弱性診断: トークンを変更しても成功するか
  • 報告書作成
    • エグゼクティブサマリ(概要)
    • 詳細報告書
    • サマリ(補足的、資料的内容)
  • 診断の後始末

7.8 RIPSによるソースコード診断

手順

  • 診断対象のファイルパスを指定(var/www/html/など)

結果

  • 非推奨の関数(unserialize関数など)を使っている、などの指摘

7.9 脆弱性診断実施上の注意

診断前の注意

  • 診断専用の環境で脆弱性診断を実施
  • バックアップを取得しておく

診断中の注意

  • 定期的にサイトの状況を確認

診断後の注意

  • 診断作業により生成したデータを削除

7.10 まとめ

割愛

7.11 脆弱性診断報告書のサンプル

割愛