お世話になります。
ものすごい初歩的な質問かも知れないのですが、調べても分からなかったため質問させていただきます。
XSS対策で < > " ' & を無害化しなければいけないというのは、よく知られていることだと思います。
この内、
< と > はタグ文字を無害化するということで分かります。
" と ' は不正なイベントハンドラ等を入れられないようにということで分かります。
しかし、&はどういった例のXSSを引き起こされるかが分かりませんでした。
分かる方がいればご教授いただければと思います。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
&は、<のエスケープを行う際に使う文字なので、 &の文字自体を&とエスケープしないと
&という文字が&(という表示)になってしまうためということです。 < の文字について処置する理由とは違います。
投稿2016/06/27 10:56
退会済みユーザー
総合スコア0
0
ベストアンサー
それはXSS対策で『無害化』をしているのではなく、HTML のルールに則った『変換』を行うためです。
HTML にテキストとしての &
を記述する場合は &
としなければならないルールがあります。
投稿2016/06/27 10:48
総合スコア4514
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/28 02:30
2016/06/28 02:31
2016/06/28 02:34
2016/06/28 02:39
0
&はHTMLのエスケープに使用したり、Getメソッドでの引数追加に使用したりするため、意図しない変換結果になったり、意図しない引数付きの要求が来たりするためだと思います。
特に後者はそこからSQLインジェクションや、バッファオーバーフローなどを引き起こす可能性が出てきますので。
投稿2016/06/27 10:43
総合スコア1038
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/28 02:23
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/28 01:54
退会済みユーザー
2016/06/28 02:06
退会済みユーザー
2016/06/28 02:11
2016/06/28 02:31