脅威
Internet Explorer 8 など、一部の古いブラウザでは、HTML構文を含むファイルをHTML として
誤ってレンダリングする場合があります。
このため、悪意あるユーザがJSON レスポンスに悪意あるHTML構文の挿入に成功した場
合、XSSが発火する可能性があります。
対策
全てのJSONレスポンスのHTTPヘッダに以下のようなヘッダを設定することで XSS のリスクを緩和できます。
1 | X-Content-Type-Options: nosniff |
(XXXは任意のファイル名)
X-Content-Typeでコンテンツ種別の推論を無効化することで、誤ってHTML として表示される事を防止します。
Content-Dispositionでダウンロードファイルとして明示することでブラウザでのレンダリングを防止します。