XSSについての質問です。
「掲示板」のように誰でも投稿・閲覧可能なサイトの場合、
コメント入力フォームにXSSの脆弱性があった場合、
「他のユーザーのセッションIDを盗む」などのスクリプトを埋め込まれる脅威があるのは理解できるのですが、
「お問い合わせFORM」のような場合でも、XSSとなりうるのでしょうか?
具体的には下記のような「お問い合わせFORM」を想定しております。
1. お問い合わせFORMにテキストエリア等の入力項目がある
2. 入力内容を確認するページがあり、ここにエスケープ漏れがあり、スクリプトが実行される
このような場合、入力するのはユーザー自身で、
取得できる情報もユーザー自身のものなので、脆弱性とはなり得ないのでは?と疑問に思い
質問させていただきました。
初歩的な質問かもしれないですが、
ご回答いただけますようお願いいたします。
3 件の回答
余談ですが、お問い合わせFORMの「FORM」→「フォーム」とすると、
NGワードに引っかかりました・・・
どういう値が送られてきたら脅威になるか考えてみて。
その後で、送られたコメントをきっと何らかの形式で保存して、画面更新と共にコメントリストを返すでしょ?
例えば送られてきた値を、クエリでどう保存するか?リクエストの値に置き換えて困るものを考えてみよう。基本的にHTML等のフロント側に出てる値は全て悪意がある前提で考えよう。
回答ありがとうございます!
質問した内容を前提に改めて考えてみました。
1. お問い合わせ内容等をDBに保存する場合
SQLインジェクションとなりえるかなーと思ったのですが、
今回はフロントに表示する際にエスケープ漏れがあるという想定ですので、
SQLはあまり関係ないように思いました。
2. お問い合わせ内容をメールで送信しているような場合
テキストメールだと問題なさそうですが、
HTMLメール場合で、かつここでもエスケープ処理されてなかったら脆弱性になるだろうと考えました。
理解が足りていない部分等ございましたら、
ご指摘いただけますと幸いです。