Jelly JS-Interpolationsschutz aktivieren

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Verwenden Sie die Eigenschaft glide.ui.jelly.js_interpolation.protect, um sicherzustellen, dass JavaScript-Code, der auf einer Jelly-Seite ausgeführt werden soll, mithilfe der Jelly-Interpolation vor der Eingabe geschützt wird.

    Wenn Sie die Eigenschaft auf truefestlegen, durchläuft eine Anwendung eine Jelly-Skriptstruktur (verschachtelt). Potenziell gefährliche Jelly-Ausdrücke werden mit einem Filter umschlossen, der:
    • Versieht ihre Ergebnisse aus Sicherheitsgründen mit Escape-Zeichen, oder
    • Wenn ihre Sicherheit nicht garantiert werden kann, generiert eine SecurityException, da der Ausdruck, der ausgewertet werden sollte, ein mögliches Sicherheitsproblem darstellt.
    Warnung:
    Dies ist eine Safe-Harbor-Eigenschaft, was bedeutet, dass der Wert nicht mehr geändert werden kann, nachdem er geändert wurde. Er kann nicht rückgängig gemacht werden.

    Weitere Informationen

    Attribut Beschreibung
    Eigenschaftsname glide.ui.jelly.js_interpolation.protect
    Konfigurationstyp Systemeigenschaften (/sys_properties_list.do)
    Kategorie Validierung, Bereinigung und Codierung
    Zweck Zur Verringerung von Angriffen mit Ausführung von böswilligem Code, die durch Jelly-Injektion auftreten können.
    Empfohlener Wert Wahr
    Sicherheitsrisikobewertung 9
    Funktionale Auswirkung (Hoch) Diese Eigenschaft ermittelt am besten, ob ein Ausdruck in Anführungszeichen steht. Möglicherweise wird ein gültiger Ausdruck falsch in Anführungszeichen gesetzt. In diesem Fall kann es erforderlich sein, einen Ausdruck manuell als sicher zu kennzeichnen.
    Sicherheitsrisiko (Moderat) Die JEXL-Injektion ist eine Form der Eingabeinjektion, die für Now Platform eindeutig ist und sowohl zur standortübergreifenden Anforderungsfälschung als auch zur Codeausführung führen kann. Wenn Sie den Schutz vollständig deaktivieren, können möglicherweise viele P1-Sicherheitsschwachstellen geöffnet werden.
    Workaround

    Um einen Ausdruck manuell als sicher zu kennzeichnen, fügen Sie dem Jelly-Ausdruck das SAFE-Präfix hinzu:

    ${SAFE:sysparm_input};

    Das blinde Hinzufügen von SAFE zu jedem Ausdruck ist die falsche Herangehensweise an das Problem, da dadurch eine Sicherheitslücke geöffnet werden kann.
    • Fügen Sie SAFE nur dann zu einem Ausdruck hinzu, wenn Sie garantieren können, dass der Ausdruck keine Eingaben vom Client enthält.
    • Wenn dies der Fall ist, kann ein böswilliger Client die Auswertung von privilegiertem JavaScript verursachen.
    Referenzen Jelly Tags

    Strenge Sicherheitseinstellungen

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