C10: サーバーサイドリクエストフォージェリを阻止する (Stop Server Side Request Forgery)
説明
インジェクション攻撃は一般的に被害者のサーバー自体をターゲットにしますが、サーバーサイドリクエストフォージェリ (SSRF) 攻撃は攻撃者に代わってサーバーにリクエストを強制的に実行させようとします。SSRF は、攻撃者がサーバーを騙して内部または外部のサービスに意図しないリクエストをさせ、セキュリティコントロールをバイパスする可能性がある場合に発生します。
これはなぜ攻撃者にとって有益なのでしょうか?送信リクエストは被害者サーバーの ID で実行されるため、攻撃者は昇格した操作でオペレーションを実行する可能性があります。
脅威
この例には以下があります。
SSRF 攻撃が DMZ 内のサーバーで可能である場合、攻撃者は境界ファイアウォールを通さずに DMZ 内の他のサーバーにアクセスできるかもしれません。
多くのサーバーは localhost 上で動作するローカルサービスを持ち、多くの場合、localhost として認証/認可はありません。これは SSRF 攻撃によって悪用される可能性があります。
SSO が使用されている場合、SSRF を使用してサーバーなどからトークン/チケット/ハッシュを抽出できます。
実装
SSRF を防ぐ方法は複数あります。
入力バリデーション
送信リクエストを作成する必要がある場合、ターゲットを許可リストと照合します
XML を使用する場合、XEE を防ぐためにパーサーを安全に構成します
入力バリデーションを実行する際には Unicode およびその他の文字変換 に注意してください。
防止される脆弱性
参考情報
ツール
Last updated