Jelly-Skript mit Escape-Zeichen [aktualisiert in Sicherheitscenter 1,3 und 1,5]

  • Freigeben Version: Yokohama
  • Aktualisiert 11. Februar 2025
  • 1 Minute Lesedauer
  • 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 offen für eine Vielzahl von Skripteinschleusungsangriffen. Ein Angreifer kann beliebige Rhino-Skripts auf der Instanz ausführen.

    Warnung:
    Seien Sie vorsichtig, wenn Sie diese Tags verwenden. Wenn hier Anwendereingaben angezeigt werden, kann dies eine Sicherheitslücke öffnen.

    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:

    $â {JS:Expression}

    $â {HTML:Expression}

    ODER

    $â {JS,HTML:Expression}

    Empfohlener Wert wahr
    Standardwert wahr
    Sicherheitsrisikobewertung 7.3
    Funktionale Auswirkung Diese Korrektur 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 die Anwendung eingegeben werden. Dadurch können Injection-Angriffe auf die Plattform verteidigt und geschützt werden.
    Problemumgehung

    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.

    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 dem Jelly-Ausdruck das Präfix „NOESC“ hinzu, um ein Escape-Escape-Zeichen für JS zu verhindern. Zum Beispiel:
    • Vor: ($[jvar_context_menus]);
    • Nach: ($[NOESC:jvar_context_menus]);
    • Vor: $[jvar_ui_policy_scripts]
    • Nach: $[NOESC:jvar_ui_policy_scripts]
    Warnung:
    Seien Sie vorsichtig, wenn Sie diese Tags verwenden. 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.