※この内容は2019/4時点のものです。
オープンリダイレクトの概要
- 説明:日本語
- Challenge:英語ハンズオン
【Challenge要約】
- 「Open Redirect」アプリケーションの「Open Redirect Basics Challenge」タブをクリックしてください。
- 表示されたVisualforceページにてリダイレクト機能を見つけ、外部のWebサイト(例:https://www.google.com )にリダイレクトさせてください。
- オープンリダイレクト攻撃が成功したら、「Challengeを確認して500ポイントを獲得」ボタンをクリックしてください。
標準のオープンリダイレクト防止の概要
- 説明:日本語
- Challenge:英語ハンズオン
【Challenge要約】
- 「Open Redirect」アプリケーションの「Standard Redirect Protections Challenge」タブをクリックしてください。
- 表示されたVisualforceページにてリダイレクト機能を見つけ、外部のWebサイト(例:https://www.google.com )にリダイレクトさせてください。
- オープンリダイレクト攻撃が成功したら、「Challengeを確認して500ポイントを獲得」ボタンをクリックしてください。
コード内のオープンリダイレクトの防止
- 説明:日本語
- Challenge:英語ハンズオン
【Challenge要約】
- 「Open Redirect」アプリケーションの「Prevent Open Redirect Challenge」タブをクリックしてください。
- 「Apex Controller」リンクをクリックし、ローカルリダイレクトのみ強制する方法でオープンリダイレクトを防止するようsave()関数を修正してください。
クロスサイトリクエストフォージェリ (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>
」タグを追加してください。
- アクションに「
クリックジャックの防止
- 説明:日本語
- Challenge:日本語選択問題
セキュアではないリモートリソースのやりとりの防止
- 説明:日本語
- Challenge:英語ハンズオン
【Challenge要約】
- 「Insecure Remote Resources」アプリケーションの「Insecure Remote Resource Challenge」タブをクリックしてください。
- 「Visualforce Page」リンクをクリックし、セキュアではないリモートリソースが使用されている2箇所について、静的リソース(Challenge_Resourcesというzip形式のフォルダ)を参照する差し込み項目に差し替えてください。