Web アプリ攻撃は AP科目Aと科目B問1で最頻出。各攻撃の原理と対策をセットで押さえましょう。
代表的な Web 攻撃: SQLインジェクション・XSS・CSRF・XXE・SSRF。
OWASP Top 10 にも常連です。
SQLi の対策ってどうすればいいの?
プレースホルダ (パラメータ化クエリ) を使うのよ。
入力のエスケープ任せにしないことが大事。
詳細は科目B問1の解説でじっくりやりましょうね。
XSS と CSRF の違いって、なんだろう…?
XSS は『他人のブラウザで悪意あるスクリプトを実行させる』もので、CSRF は『ログイン中の被害者に意図しないリクエストを送らせる』ものですね。
対策としては、XSS は出力エスケープと CSP、CSRF はトークン (Synchronizer Token) になります。
XXE は XML 外部実体参照を悪用してファイル読み出しなどを行う攻撃で、SSRF はサーバを踏み台にして内部ネットワークへアクセスする攻撃なのよ。
クラウド環境ではメタデータエンドポイントの漏洩につながるから、特に危険ね。
確認クイズ
Web アプリケーションにおける CSRF (Cross-Site Request Forgery) 攻撃の対策として、最も適切なものはどれか。
- プレースホルダを用いた SQL クエリの作成
- リクエストごとにワンタイムトークンを発行・検証する
- サーバ側でクライアントの IP アドレスをホワイトリスト管理する
- ファイアウォールで TCP 接続を許可ベースで制限する
こたえを見る
正解: 2. リクエストごとにワンタイムトークンを発行・検証する
CSRF 対策は『リクエストの正当性を確認する』ことが中心。ワンタイムトークン (Synchronizer Token Pattern) や SameSite Cookie 属性が標準的な対策です。1 は SQLi 対策、3・4 は範囲外。