Hello there, ('ω')ノ
クリックジャッキングが起こる仕組み
基本的な手口は:
- 自社システムの画面をiframeで別のサイト内に表示させ
- その上に透明なボタンを重ねる
これにより「本物を見せつつ、操作は偽物」という状態を作ります。
実際のチェック手順① X-Frame-Optionsを確認する
まず一番基本的な確認方法です。
① 対象システムをブラウザで開く
② F12キー → Networkタブ → 任意のリクエストを選択
③ Response Headers を確認
✅ チェック項目:
- X-Frame-Options: SAMEORIGIN
- Content-Security-Policy: frame-ancestors 'self'
これらが設定されていない場合、クリックジャッキングが成立するリスクがあります。
実際のチェック手順② テスト用HTMLを作って試す
以下のようなテストページをローカルで用意します。
<iframe src="https://intra.example.co.jp/" width="800" height="600"></iframe>
このHTMLを開いたときに社内システムがそのままiframe内で表示されるかどうか確認します。
✅ 表示される場合 → クリックジャッキングのリスクあり ✅ 表示されずエラーになる場合 → 対策済み
チェックポイントまとめ
- X-Frame-Options ヘッダーが設定されているか
- Content-Security-Policy (CSP) ヘッダーでframe-ancestors指定があるか
- 実際にiframe内表示テストをしてみたか
社内向けよくある対象例
- 勤怠システム管理画面
- 経費申請の承認画面
- 社内ポータルの設定画面
こうした重要操作を伴う画面ほど、クリックジャッキング対策が必要です。
チェックリストまとめ
- [ ] X-Frame-Optionsが設定されているか確認したか?
- [ ] CSPのframe-ancestors設定を確認したか?
- [ ] テスト用HTMLでiframe表示確認を行ったか?
- [ ] 管理者や開発担当に結果を報告したか?
注意事項
- 本番環境を使う場合は必ず事前許可を取ること
- iframeテストは自己管理できるPC内のみで行うこと
Best regards, (^^ゞ