Escape Jelly (Härtung der Instanzsicherheit)

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Verwenden Sie die Eigenschaft glide.ui.escape_all_script, um die Escape-Zeichen aller in Jelly eingefügten Skripts zu erzwingen.

    Alle in enthaltenen JS- und HTML-Zeichenfolgen werden mit Escape-Zeichen versehen<j:jelly> ... </j:jelly> bevor sie in den Ausgabestrom geschrieben werden, wodurch das Auftreten mehrerer XSS-Probleme verhindert wird.

    Weitere Informationen

    Attribut Beschreibung
    Eigenschaftsname glide.ui.escape_all_script
    Konfigurationstyp Systemeigenschaften (/sys_properties_list.do)
    Konfigurieren Sie im Instanz-Sicherheitszentrum Ja
    Zweck

    Wenn die Eigenschaft nicht auf truefestgelegt ist, müssen Entwickler für jedes benutzerdefinierte Jelly-Skript mehrere Schritte ausführen, um XSS-Probleme zu vermeiden. Diese Schritte umfassen das Suchen der Jelly-Variablen, die an den Ausgabestream gesendet werden, um sie auf Webseiten zu rendern, und das Ausführen von Escaping für jedes der folgenden Tags:

    $ à {JS:Ausdruck}

    $ à {HTML: Ausdruck}

    ODER

    $à {JS,HTML:Ausdruck}

    Empfohlener Wert Wahr
    Funktionale Auswirkung (Mittel) Diese Fehlerkorrektur erzwingt Jelly-Escaping auf Parser-Ebene. Sie kann Auswirkungen auf die Funktionalität der Benutzerinteraktion mit den resultierenden Daten haben.
    Sicherheitsrisiko (Hoch) Die Eingabevalidierung muss für alle Benutzereingaben erfolgen, die in der Anwendung eingegeben werden. Auf diese Weise können Einschleusungsangriffe auf die Plattform verteidigt und geschützt werden.
    Workaround

    Die Benutzeroberfläche kann beeinträchtigt werden, da einige der Skripts und HTML-Tags, die für das Rendern auf einer Webseite entwickelt wurden, möglicherweise fehlerhaft erscheinen. Diese Korrektur sendet die codierte Ausgabeseite zum Rendern an den Browser.

    Beispielsweise kann anstelle von „meine Zeichenfolge hier“ „meine Zeichenfolge hier“<u>angezeigt werden</u>, da das Tag <u> ordnungsgemäß mit Escape-Zeichen versehen wurde. Um in diesem Fall ein Escaping zu verhindern, fügen Sie dem Jelly-Ausdruck das NOESC-Präfix hinzu, um ein JS-Escaping zu verhindern. Beispiel:
    • Vorher: ($[jvar_context_menus]);
    • Nach: ($[NOESC:jvar_context_menus]);
    • Vorher: $[jvar_ui_policy_scripts]
    • Nach: $[NOESC:jvar_ui_policy_scripts]
    Referenzen

    Strenge Sicherheitseinstellungen

    Jelly Tags

    Weitere Informationen zum Hinzufügen oder Erstellen einer Systemeigenschaft finden Sie unter Add a system property.