セキュリティ修正を適用したので、AWS Cloud9 のターミナルウィンドウに移動し、変更を公開しましょう。
cd ~/environment/flask-app
git commit -a -m"Fix Secure Code Review Findings"
git push
これにより、リリースパイプラインが自動的にトリガーされます。AWS CodePipeline に移動し、DAST ステージを通過するまで進行状況を監視します。
SSTI 脆弱性を修正したかどうかを確認しましょう。A1: インジェクションページ (owasp/A1) に移動し、HTMLフォームに {{8*8}} と入力します。これ以上任意のコードを実行しなくなるはずです。
A2: 壊れたアクセス制御ページ (owasp/A2) に移動し、攻撃者の資格情報 (ユーザー名: badguy Password: badguy) でログインします。ログインしたら、URLをowasp/A2/profile/badguy から owasp/A2/profile/john に変えてみてください。これで、承認されません というエラーが表示されるはずです。
プラットフォームの詳細を適切に隠しているかどうかを確認しましょう。A6: セキュリティ設定ミスページ (owasp/A6) を開き、HTML フォームに数値以外の文字列を入力します。デバッグの詳細はもう表示されないはずです。
HTTP レスポンスヘッダーのサーバーヘッダーには、ウェブサーバーの詳細情報ではなく SECRET と表示されます。また、DASTの検出を修正するために以前に追加した新しいX-Frame-Optionsヘッダーも表示されるはずです。
最後に、もうスクリプトを挿入できないかどうかを確認しましょう。A7: クロスサイトスクリプティング (XSS) ページ (owasp/A7) を開き、<script>alert("LOL!")</script>
をHTMLフォームに変換します。スクリプトは、ブラウザによって実行されるのではなく、無害な文字列としてレンダリングされるはずです。