Jelly-Skript mit Escape-Zeichen [aktualisiert in Security Center 1,3 und 1,5]
Verwenden Sie glide.ui.escape_all_scriptEigenschaft, um das Escape-Zeichen aller in Jelly injizierten Skripts zu erzwingen.
Mit dieser Eigenschaft werden alle in <j:jelly> ... </j:jelly> enthaltenen JS- und HTML-Zeichenfolgen mit Escape-Zeichen versehen, bevor sie in den Ausgabestrom geschrieben werden, wodurch verhindert wird, dass mehrere XSS-Probleme auftreten. Wenn glide.ui.escape_all_scriptIst nicht auf den empfohlenen Wert „wahr“ festgelegt, dann ist das Escape-Zeichen von Skripts, die in Jelly injiziert wurden, deaktiviert. Ohne diese Minderung wird die Plattform weit geöffnet für eine Vielzahl von Skripteinschleusungsangriffen. Ein Angreifer kann beliebige Rhino-Skripts auf der Instanz ausführen.
Weitere Informationen
| Attribut | Beschreibung |
|---|---|
| Eigenschaftsname | glide.ui.escape_all_script |
| Konfigurationstyp | Systemeigenschaften (/sys_properties_list.do) |
| Datentyp | Boolean |
| Kategorie | Validierung, Bereinigung und Codierung |
| Zweck | Wenn die Eigenschaft nicht auf festgelegt ist Wahr , Entwickler müssen für jedes anwenderdefinierte Jelly-Skript mehrere Schritte ausführen, um XSS-Probleme zu verhindern. Diese Schritte umfassen das Auffinden der Jelly-Variablen, die an den Ausgabestrom gesendet werden, um sie auf Webseiten zu rendern, und das Ausführen von Escape-Zeichen für jedes der folgenden Tags:
ODER
|
| Empfohlener Wert | wahr |
| Standardwert | wahr |
| Sicherheitsrisikobewertung | 7.3 |
| Funktionale Auswirkung | Diese Fehlerkorrektur erzwingt Jelly-Escape auf Parser-Ebene. Dies kann Auswirkungen auf die Funktionalität auf die Anwenderinteraktion mit den resultierenden Daten haben. |
| Sicherheitsrisiko | (Hoch) die Eingabevalidierung muss für alle Anwendereingaben erfolgen, die in der Anwendung eingegeben werden. Dadurch können Einschleusungsangriffe auf die Plattform verteidigt und geschützt werden. |
| Workaround | Die Anwenderoberfläche kann betroffen sein, da einige der Skripts und HTML-Tags, die für das Rendern auf einer Webseite konzipiert sind, fehlerhaft erscheinen können. Diese Korrektur sendet die Ausgabe-codierte Seite zum Rendern an den Browser. Zum Beispiel anstelle von
„Meine Zeichenfolge hier“ , Wird möglicherweise „ <u>Meine Zeichenfolge hier </u>Als <u>Tag wurde ordnungsgemäß mit Escape versehen. Fügen Sie in diesem Fall das Präfix NOESC dem Jelly-Ausdruck hinzu, um ein Escape-Escape-Zeichen für JS zu verhindern. Zum Beispiel:
Warnung: Gehen Sie bei der Verwendung dieser Tags vorsichtig vor. Wenn hier Anwendereingaben angezeigt werden, kann dies eine Sicherheitslücke öffnen. |
| Referenzen | Strenge Sicherheitseinstellungen Jelly Tags |
Weitere Informationen zum Hinzufügen oder Erstellen einer Systemeigenschaft finden Sie unter Add a system property.