Escape-XML (Härtung der Instanzsicherheit)

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Die Eigenschaft glide.ui.escape_text erzwingt Escape-Zeichen für XML-Werte auf Parser-Ebene, bevor sie an den Browser des Clients übertragen werden.

    Hinweis:
    Diese Eigenschaft ist in Vancouver und späteren Releases standardmäßig auf „ true “ festgelegt und kann von Administratoren nicht geändert werden. Wenden Sie sich für einen Anwendungsfall, bei dem die Eigenschaft geändert werden muss, an den Kundensupport.
    Siteübergreifendes Skripting tritt auf, wenn ein Angreifer schädliches JavaScript in einen Einstiegspunkt einfügt. Die Plattform/Anwendung kann das schädliche JavaScript nicht mit Escape-Zeichen versehen, bevor es zur Ausführung an den Browser des Opfers übertragen wird. Escaping bedeutet in diesem Kontext Folgendes:
    • & -> &
    • < --> <
    • > --> >
    • -->
    • ' --> '
    • / --> /

    Beispiel: <![CDATA[<script> alert('XSS-Angriff');</script> ]]>

    Escaping: <script>alert('XSS Attack');</script>

    Weitere Informationen

    Attribut Beschreibung
    Eigenschaftsname glide.ui.escape_text
    Konfigurationstyp Systemeigenschaften (/sys_properties_list.do)
    Konfigurieren Sie im Instanz-Sicherheitszentrum Ja
    Zweck Durch das Escaping von XML wird sichergestellt, dass Browser das in nicht vertrauenswürdige Daten eingebettete schädliche JavaScript nicht analysieren und als JavaScript ausführen.
    • Ein böswilliger Benutzer kann einen XSS-Angriff versuchen, um entweder die Sitzung anderer Benutzer zu kapern oder den Benutzer auf eine schädliche Website umzuleiten.
    • Now Platform enthält Code zum Sichern von Cookies. Um ihn jedoch mit Escape-Zeichen zu versehen, muss diese Eigenschaft auf truefestgelegt werden.
    Empfohlener Wert Wahr
    Funktionale Auswirkung (Mittel) Diese Fehlerkorrektur erzwingt die XML-Codierung auf XML-Parser-Ebene in der Benutzeroberfläche. Dadurch werden die codierten Ergebnisse für den Benutzer gerendert, was sich je nach Instanzbenutzerinteraktion mit den resultierenden Daten auf die Funktionalität auswirken kann.
    Sicherheitsrisiko (Hoch) Die Eingabevalidierung muss in der Anwendung erfolgen, um sich gegen websiteübergreifende Skripting-Angriffe zu schützen. Diese Angriffe ermöglichen die Ausführung fremder Skripts in der Benutzersitzung im Kontext des angemeldeten Browsers. Angreifer können damit Sitzungsinformationen und vertrauliche Daten stehlen.
    Workaround

    Nachdem Sie diese Eigenschaft auf truefestgelegt haben, wird das Rendern der HTML-Tags in der Katalogelementbeschreibung oder im Hilfetext der Katalogelementvariablen angehalten. Möglicherweise können Sie die HTML-Formatierung für einige Felder nicht verwenden.

    Wenn jedoch die Eigenschaft glide.ui.escape_text deaktiviert ist, wird allen JEXL-Ausdrücken ein Ausgabe-Encoder vorangestellt:

    $⁠{JS:Ausdruck}

    $⁠{HTML:Ausdruck}

    oder

    $⁠{JS,HTML:Ausdruck}

    Referenzen

    Strenge Sicherheitseinstellungen

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