Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reactのエスケープ処理を検証する

Avatar for そうすけ そうすけ
August 17, 2025
130

 Reactのエスケープ処理を検証する

中央線デベロッパー20250816
なぜモダンフロントエンドは安全と言われるのか

Avatar for そうすけ

そうすけ

August 17, 2025

Transcript

  1. はじめに 背景 フロントエンド開発の初心者向けのセキュリティ本を読んでみた。 セキュリティの基本 • XSSにはエスケープ処理が必須 • ライブラリやフレームワークを使う方が賢明 • ブラウザの機能も活用する

    ReactやVueなどのモダンフレームワークは安全なデフォルトを備え、 開発者が特別意識しなくても一定の防御が効くと言われています。 リティの検証で、いまの XSSでlocalhost8080にあるスクリ プトを実行できるようにするにはどうすれば
  2. 旧来のDOM操作との違い 従来の方法(危険) <div id=app> 入力内容を表示します</div> const app = document.getElementById('app'); const

    userInput = '<img src=x onerror="alert(\'👿悪意のあるスクリプト👿!\')">'; app.innerHTML = userInput; // HTMLパーサが動き、スクリプト実行の危険 少し前のフロントエンド開発では、 `innerHTML` を使い、HTML文字列を直接 DOMに挿入することが一般的でした。 &lt;img src=&quot;x&quot; onerror=&quot;alert('👿悪意のあるスクリプト👿!')&quot; /&gt; タグを勘違いしないようにする書き方で置き換える エスケープ処理 をいれる必要があった。 (< → &lt;) 開発者がエスケープ処理を忘れれば、悪意のあるスクリプトが実装されるリスク大。