Shikata Ga Nai

Private? There is no such things.

CSRF攻撃の配信方法:ユーザーに気付かせずにリクエストを送らせる手口

Hello there, ('ω')ノ

✅ CSRF攻撃の「届け方(配信)」とは?

CSRFは単なるHTMLリクエストの仕組みなので、攻撃ページをどのようにユーザーに開かせるかがカギになります。 この「配信方法」は、反射型XSSと同様の手口がよく使われます。


🎯 代表的なCSRFの配信パターン

配信方法 内容
✅ 攻撃者のウェブサイトに設置 悪意のあるHTMLを置いた独自サイトに被害者を誘導
✅ メールやSNSでリンクを送る 攻撃ページへのリンクを貼って開かせる
✅ 人気サイト上のコメント欄や投稿欄に埋め込む クロスドメインで実行できる場合は非常に危険
✅ 被害者自身のクリック不要なHTMLタグで自動実行 <img>, <iframe>, <script>などでリクエストを発動

✅ GETメソッドを使う「セルフコンテイン攻撃」

CSRFは必ずしもフォームPOSTである必要はなく、 GETメソッドでもリクエストが成立する機能であれば、単一URLだけで攻撃可能です。


📚 例:メール変更機能がGET対応だった場合

<img src="https://vulnerable-website.com/email/change?email=pwned@evil-user.net">
  • これは画像タグに見せかけて実はCSRF攻撃を行うパターン
  • 被害者がこのHTMLを含むページを開くと、勝手にGETリクエストが発動される

✅ この形式のメリット(攻撃者視点)

特徴 説明
JavaScript不要 画像タグだけで完結、WAFやフィルターの回避に有効
被害者のクリック不要 ページ読み込みだけで攻撃成立(ノークリック攻撃)
URLだけで実行できる メールやSNSにそのまま貼れる

🧠 実務でよくあるCSRFターゲットの例

アクション 攻撃理由
メールアドレス変更 攻撃者がメール受け取れるようにする
パスワード変更 ログイン権を奪う
アドレス帳編集 他ユーザーを誘導・改ざん可能にする
商品購入・サブスク契約 不正取引や課金が可能に

🛡️ 防御の基本

対策 GET防止に有効か?
✅ CSRFトークン ❌(GETでは使いにくい)
✅ POSTメソッド限定 ✅(GETは使わない)
✅ SameSite Cookie ✅(外部ドメインからのリクエスト制限)
✅ Referer/Originヘッダー確認 ✅(出所を検証)

✅ まとめ

「CSRF=クリックしなくても成立する攻撃」 この攻撃の配信方法は非常に広範かつ静かです。

  • 特にGETメソッドで完了する機能はURL一発で乗っ取り成立
  • 防御には「GETを使わない設計」「トークンの導入」「SameSite属性」などの多層防御が必須です

Best regards, (^^ゞ