攻撃手法 — SQLi / XSS / CSRF / XXE / SSRF

OWASP Top 10 で常連の Web 攻撃の原理と対策を整理。AP科目B問1の対策にも直結。

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) 攻撃の対策として、最も適切なものはどれか。

  1. プレースホルダを用いた SQL クエリの作成
  2. リクエストごとにワンタイムトークンを発行・検証する
  3. サーバ側でクライアントの IP アドレスをホワイトリスト管理する
  4. ファイアウォールで TCP 接続を許可ベースで制限する
こたえを見る

正解: 2. リクエストごとにワンタイムトークンを発行・検証する

CSRF 対策は『リクエストの正当性を確認する』ことが中心。ワンタイムトークン (Synchronizer Token Pattern) や SameSite Cookie 属性が標準的な対策です。1 は SQLi 対策、3・4 は範囲外。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。