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