Open3
HTMLのエスケープ処理、XSS、Reactの関係について調べたこと
はじめに
Reactを使ったサービスで、フォームなどを使ったユーザー入力機能があった場合のセキュリティに関して調べたことを以下にまとめていく。
エスケープ処理とは
特別な意味を持つ文字を、ただの文字として解釈させたり別の文字に置換すること
XSSとは
cross-site scripting / クロスサイト・スクリプティングのこと。webページに悪意あるスクリプト(JavaScriptコード)を埋め込んでページを訪れたユーザーのブラウザで実行させること。
流れとしては、
- 攻撃者がブログ、掲示板、SNSなどのユーザー投稿型のサービスにスクリプトを埋め込む
- ユーザーがそのサービスを訪れる
- 埋め込まれたスクリプトをブラウザが実行して何らかの不正が起きる
このスクリプトは、偽サイトへの誘導、フィッシング詐欺、cookieを盗むなどのコードであることが多い。