はじめに
Webサイトにお問い合わせフォームを設置すると、便利になる一方で様々なスパムや攻撃の対象になります。
実際にフォームを公開すると、次のようなものが届きます。
-
海外スパム投稿
-
営業メール
-
ボット送信
-
不正コード入力
この記事では
-
お問い合わせフォームによくある攻撃
-
実際の投稿例
-
有効な対策
をまとめます。
お問い合わせフォームに来るものは大きく3種類
フォームに届くものは主に次の3つです。
| スパム投稿 | :広告やリンク |
| 営業メール | :営業代行・SEO業者 |
| 技術攻撃 | :XSS・SQLなど |
実際の運用では
営業メール > スパム > 技術攻撃
の順で多いそうです。
① スパム投稿(最も多い)
攻撃内容
海外のボットがフォームに広告リンクを送るものです。
目的
-
SEOリンク設置
-
詐欺サイト誘導
-
アフィリエイト
実際のスパム例
よくある投稿です。
Hello
I visited your website and noticed it is not ranking well.
We offer cheap SEO backlinks.
Visit:
http://spam-example.com
また次のようなものも多いです。
Great website!
Check our casino site
http://casino-example.com
② 営業メール(非常に多い)
内容
お問い合わせフォームを営業ツールとして使う企業があります。
主な営業
-
SEO対策
-
Web制作
-
営業代行
-
マーケティング
実際の営業メール
よくある営業メールです。
件名:御社サイトの集客改善のご提案
突然のご連絡失礼いたします。
弊社はSEO対策を専門としており、
御社サイトの検索順位を改善するお手伝いが可能です。
ぜひ一度お打ち合わせのお時間をいただけませんでしょうか。
海外営業も多く見られます。
Hello,
We can bring your website to Google first page.
Cheap SEO backlinks available.
営業メールが多い理由
営業ツールは次のように動きます。
①企業サイトを収集
②お問い合わせページを検出
③フォームを自動送信
つまり
公開フォームは営業ボットのターゲットになります。
③ ボットによる大量送信
攻撃内容
プログラムによる自動送信です。
目的
-
スパム投稿
-
メール爆撃
-
サーバー負荷
実際のログ例
サーバーログでは次のようになります。
POST /contact
POST /contact
POST /contact
POST /contact
POST /contact
短時間で大量送信されます。
④ XSS(スクリプト埋め込み)
攻撃内容
フォーム入力にJavaScriptを入れる攻撃です。
実例
<script>alert('xss')</script>
もしこれをそのまま表示すると
JavaScriptが実行される
可能性があります。
⑤ SQLインジェクション
攻撃内容
データベース操作を狙う攻撃です。
実例
' OR 1=1 --
古いシステムでは
SELECT * FROM users WHERE name=''
が
SELECT * FROM users WHERE name='' OR 1=1
になり、不正アクセスが可能になります。
⑥ CSRF(別サイトからの送信)
攻撃内容
別サイトからフォーム送信を行う攻撃です。
攻撃サイトに
<form action="example.com/contact">
を設置して送信します。
お問い合わせフォームの有効な対策
フォームを安全にするには
複数の対策を組み合わせることが重要です。
主な対策
| 対策 | 効果 |
|---|---|
| ハニーポット | ボット検出 |
| 送信時間チェック | 自動送信検出 |
| 入力検証 | 不正データ防止 |
| APIキー | 不正利用防止 |
| ドメイン制限 | 不正サイト防止 |
特に効果が高い対策
実際の運用で効果が高いのは次の組み合わせです。
ハニーポット
+
送信時間チェック
+
入力バリデーション
営業ツールやボットは
ページ表示
↓
即送信
が多いため、かなり防げます。
お問い合わせ連携APIの対策
私が作っているお問い合わせ連携APIでは次の対策を実装しています。
| 対策 | 内容 |
|---|---|
| ハニーポット | ボット判定 |
| 送信時間チェック | 自動送信防止 |
| 入力検証 | 不正データ拒否 |
| ドメイン制限 | 不正利用防止 |
| APIキー | サービス保護 |
これにより
-
スパム投稿
-
営業ボット
-
自動送信
をかなり抑えることができます。
お問い合わせ内容をスプシへ安全に自動転送します 簡単設置、安全転送と強力スパム対策済みフォームをセットで!まとめ
お問い合わせフォームは公開すると
必ず次のようなものが届きます。
営業メール
スパム投稿
ボット送信
さらに
XSS
SQLインジェクション
CSRF
などの攻撃もあります。
そのためフォームには
ハニーポット
送信時間チェック
入力検証
ドメイン制限
などの対策を入れることが重要です。