XML のエスケープ (インスタンスセキュリティ強化)
glide.ui.escape_text プロパティは、パーサーレベルで XML 値を強制的にエスケープしてから、クライアントのブラウザに送信します。
注:
Vancouver 以降のリリースでは、このプロパティはデフォルトで true に設定されており、管理者が変更することはできません。プロパティを変更する必要があるユースケースについては、カスタマーサポートにお問い合わせください。
クロスサイトスクリプティングは、攻撃者が悪意のある JavaScript をエントリポイントに挿入するときに発生します。プラットフォーム/アプリケーションは、被害者のブラウザに送信して実行する前に悪意のある JavaScript をエスケープすることができません。このコンテキストでのエスケープとは、次のことを意味します。
- & -->
& - < -->
< - > -->
> - " -->
" - ' -->
' - / -->
/
例:<![CDATA[<script>alert('XSS Attack');]]>
エスケープ:<script>alert('XSS Attack');</script>
詳細情報
| 属性 | 説明 |
|---|---|
| プロパティ名 | glide.ui.escape_text |
| 構成タイプ | システムプロパティ (/sys_properties_list.do) |
| Instance Security Center での構成 | あり |
| 目的 | XML をエスケープすることで、信頼できないデータに埋め込まれた悪意のある JavaScript をブラウザが解析して JavaScript として実行することを確実になくします。
|
| 推奨値 | true |
| 機能への影響度 | (中) この修正では、UI で XML パーサーレベルの XML エンコードが適用されます。これにより、エンコードされた結果がユーザーに対してレンダリングされるので、結果のデータを用いたインスタンスのユーザーインタラクションに基づいて、機能に影響を与える可能性があります。 |
| セキュリティリスク | (高) クロスサイトスクリプティング攻撃から防御するために、アプリケーションで入力検証を行う必要があります。これらの攻撃により、ログインしているブラウザのコンテキストで、ユーザーセッションで外部スクリプトが実行される可能性があります。攻撃者はこれを使用してセッション情報と機密データを盗むことができます。 |
| ワークアラウンド | このプロパティを true に設定すると、カタログアイテムの説明またはカタログアイテム変数のヘルプテキストの HTML タグでレンダリングが停止します。フィールドによっては、HTML 形式を使用できない場合があります。 ただし、glide.ui.escape_text プロパティをオフにすると、出力エンコーダーにより、すべての JEXL 式にプリフィックスが付加されます。
または
|
| 参照 |
システムプロパティの追加または作成の詳細については、「Add a system property」を参照してください。