Mark Hammer's Blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Trailhead モジュール:アプリケーションロジックの脆弱性防止

※この内容は2019/4時点のものです。

オープンリダイレクトの概要

https://trailhead.salesforce.com/ja/content/learn/modules/secdev_application_logic_vulnerabilities/secdev_app_logic_open_redirect

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 「Open Redirect」アプリケーションの「Open Redirect Basics Challenge」タブをクリックしてください。
  • 表示されたVisualforceページにてリダイレクト機能を見つけ、外部のWebサイト(例:https://www.google.com )にリダイレクトさせてください。
  • オープンリダイレクト攻撃が成功したら、「Challengeを確認して500ポイントを獲得」ボタンをクリックしてください。

標準のオープンリダイレクト防止の概要

https://trailhead.salesforce.com/ja/content/learn/modules/secdev_application_logic_vulnerabilities/secdev_app_logic_standard_open_redirect

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 「Open Redirect」アプリケーションの「Standard Redirect Protections Challenge」タブをクリックしてください。
  • 表示されたVisualforceページにてリダイレクト機能を見つけ、外部のWebサイト(例:https://www.google.com )にリダイレクトさせてください。
  • オープンリダイレクト攻撃が成功したら、「Challengeを確認して500ポイントを獲得」ボタンをクリックしてください。

コード内のオープンリダイレクトの防止

https://trailhead.salesforce.com/ja/content/learn/modules/secdev_application_logic_vulnerabilities/secdev_app_logic_preventing_open_redirect

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 「Open Redirect」アプリケーションの「Prevent Open Redirect Challenge」タブをクリックしてください。
  • 「Apex Controller」リンクをクリックし、ローカルリダイレクトのみ強制する方法でオープンリダイレクトを防止するようsave()関数を修正してください。

クロスサイトリクエストフォージェリ (CSRF) の防止

https://trailhead.salesforce.com/ja/content/learn/modules/secdev_application_logic_vulnerabilities/secdev_app_logic_csrf

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 「Cross-Site Request Forgery (CSRF)」アプリケーションの「CSRF Challenge」タブをクリックしてください。
  • 「Apex Controller」リンクをクリックし、「CSRF_Challenge」Visualforce ページからアクションハンドラを削除してください。
  • 「Approval Action (NO CSRF)」がある行にて、以下内容の変更を行ってください。
    • アクションに「{!approveReqNOCSRF}」を設定した「<apex:commandlink>」タグを追加してください。このメソッドは既にApexコントローラに追加されています。
    • <apex:commandlink>」タグの中に、value を「{!req.id}」、assignTo を「{!approve}」とした「<apex:param>」タグを追加してください。

クリックジャックの防止

https://trailhead.salesforce.com/ja/content/learn/modules/secdev_application_logic_vulnerabilities/secdev_app_logic_clickjacking

  • 説明:日本語
  • Challenge:日本語選択問題

セキュアではないリモートリソースのやりとりの防止

https://trailhead.salesforce.com/ja/content/learn/modules/secdev_application_logic_vulnerabilities/secdev_app_logic_insecure_remote_resource

  • 説明:日本語
  • Challenge:英語ハンズオン

【Challenge要約】

  • 「Insecure Remote Resources」アプリケーションの「Insecure Remote Resource Challenge」タブをクリックしてください。
  • 「Visualforce Page」リンクをクリックし、セキュアではないリモートリソースが使用されている2箇所について、静的リソース(Challenge_Resourcesというzip形式のフォルダ)を参照する差し込み項目に差し替えてください。