Open3

HTMLのエスケープ処理、XSS、Reactの関係について調べたこと

cordeliacordelia

はじめに

Reactを使ったサービスで、フォームなどを使ったユーザー入力機能があった場合のセキュリティに関して調べたことを以下にまとめていく。

cordeliacordelia

エスケープ処理とは

特別な意味を持つ文字を、ただの文字として解釈させたり別の文字に置換すること

cordeliacordelia

XSSとは

cross-site scripting / クロスサイト・スクリプティングのこと。webページに悪意あるスクリプト(JavaScriptコード)を埋め込んでページを訪れたユーザーのブラウザで実行させること。
https://www.ipa.go.jp/security/vuln/websecurity/cross-site-scripting.html

流れとしては、

  1. 攻撃者がブログ、掲示板、SNSなどのユーザー投稿型のサービスにスクリプトを埋め込む
  2. ユーザーがそのサービスを訪れる
  3. 埋め込まれたスクリプトをブラウザが実行して何らかの不正が起きる

このスクリプトは、偽サイトへの誘導、フィッシング詐欺、cookieを盗むなどのコードであることが多い。