Escape-Zeichen für Jelly-Skript [In Security Center 1.3 und 1.5 aktualisiert]
Verwenden Sie die Eigenschaft glide.ui.escape_all_script, um das Escape-Zeichen für alle in Jelly eingefügten Skripts zu erzwingen.
Diese Eigenschaft versieht alle in enthaltenen JS- und HTML-Zeichenfolgen mit Escape-Zeichen<j:jelly> ...</j:jelly> bevor sie in den Ausgabestream geschrieben werden, wodurch mehrere XSS-Probleme verhindert werden. Wenn glide.ui.escape_all_script nicht auf den empfohlenen Wert „true“ festgelegt ist, ist das Escaping von in Jelly injizierten Skripts deaktiviert. Ohne diese Minderung ist die Plattform offen für eine Vielzahl von Skripteinschleusungsangriffen. Ein Angreifer könnte beliebigeRhino-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 truefestgelegt ist, müssen Entwickler für jedes anwenderdefinierte Jelly-Skript mehrere Schritte ausführen, um XSS-Probleme zu vermeiden. Diese Schritte umfassen das Auffinden der Jelly-Variablen, die an den Ausgabestream 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 Korrektur erzwingt Jelly-Escaping auf Parser-Ebene. Sie kann sich auf die Funktionalität der Benutzerinteraktion mit den resultierenden Daten auswirken. |
| Sicherheitsrisiko | (Hoch) Die Eingabevalidierung muss für alle Anwendereingaben erfolgen, die in der Anwendung eingegeben werden. Auf diese Weise 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 entwickelt wurden, fehlerhaft erscheinen können. Diese Korrektur sendet die codierte Ausgabeseite zum Rendern an den Browser. Anstelle von
„meine Zeichenfolge hier“könnte beispielsweise „<u>meine Zeichenfolge hier“</u> angezeigt werden, da das Tag <u> ordnungsgemäß mit Escape-Zeichen versehen wurde. In diesem Fall fügen Sie dem Jelly-Ausdruck das Präfix „NOESC“ hinzu, um ein Escape-Zeichen für JS zu verhindern. Zum Beispiel:
Warnung: Seien Sie vorsichtig, wenn Sie diese Tags verwenden. Wenn die Anwendereingabe hier angezeigt wird, kann eine Sicherheitsschwachstelle geöffnet werden. |
| Referenzen | Strenge Sicherheitseinstellungen Jelly Tags |
Weitere Informationen zum Hinzufügen oder Erstellen von Systemeigenschaften finden Sie unter Add a system property.