注目★★★★★Lobsters
CSS インジェクションで HTML テキスト内容を抽出、認証トークン漏洩の可能性
30秒で把握
- 1CSS インジェクション単独で HTML テキスト全量抽出・リモート送信が可能に
- 2フォント高さ差異・アニメーション・style query で従来の文字重複問題を解決
- 3style-src 'unsafe-inline' + img-src 許可の CSP 環境では入力値の CSS インジェクション対策が必須
要約
セキュリティ研究者は CSS のみを用いて HTML テキストノードの内容を全量抽出する技術を開発した。フォント高さの差異測定・アニメーションタイムライン・一時変数キャッシングを組み合わせ、リモート画像をビーコンとして利用することで、JavaScript なしに任意のテキスト (認証トークンなど) を攻撃者サーバへ送信できる。この手法は Hack.lu CTF 2024 の「Bench Press」チャレンジとして実装され、CSP で style-src 'unsafe-inline' と img-src を許可する環境で機能する。従来の文字集合リーク手法の重複文字問題を、高さ測定と反復的な文字削除により克服した。
あなたへの影響
CSS Injection を許す実装 (query パラメータが直接 <style> に反映される場合) は単なる見た目の問題ではなく、JavaScript なしで認証情報流出につながり得る。
推奨:CSP で style-src 'unsafe-inline' と img-src を同時許可するサイトは、入力値の <style> タグへの挿入を絶対に防ぐか CSP を厳格化する必要がある。