XML-Markup codieren [In Security Center 1.3 aktualisiert]

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Verwenden Sie die Eigenschaft glide.ui.escape_text, um das Escape-Zeichen für XML-Werte auf Parser-Ebene zu erzwingen, bevor Sie sie an den Browser des Clients übertragen.

    Site-übergreifendes Skripting tritt auf, wenn ein Angreifer schädliches JavaScript in einen Einstiegspunkt einschleust. Die Plattform/Anwendung kann das schädliche JavaScript nicht mit Escape-Zeichen versehen, bevor sie zur Ausführung an den Browser des Opfers übertragen wird. Escape-Zeichen bedeutet in diesem Kontext Folgendes:
    • & --> &
    • < --> <
    • > --> >
    • " --> "
    • ' --> '
    • / --> /

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

    Escape-Zeichen: <script>alert('XSS Attack');</script>

    Stellen Sie sicher, dass die Eigenschaft glide.ui.escape_text in der Tabelle „sys_properties“ vorhanden und auf „wahr“ festgelegt ist.

    Warnung:
    Dies ist eine Safe-Harbor-Eigenschaft. Das bedeutet, dass der Wert nicht geändert werden kann, nachdem er geändert wurde. Er kann nicht rückgängig gemacht werden.

    Weitere Informationen

    Attribut Beschreibung
    Eigenschaftsname glide.ui.escape_text
    Konfigurationstyp Systemeigenschaften (/sys_properties_list.do)
    Kategorie Validierung, Bereinigung und Codierung
    Zweck Das Codieren von XML stellt sicher, dass Browser das schädliche JavaScript, das in nicht vertrauenswürdigen Daten eingebettet ist, nicht analysieren und als JavaScript ausführen.
    • Ein böswilliger Anwender kann einen XSS-Angriff versuchen, um entweder die Sitzung anderer Anwender zu kapern oder den Anwender auf eine schädliche Website umzuleiten.
    • Die NOW Platform enthält Code zum Sichern von Cookies. Um ihn jedoch mit Escape-Zeichen zu versehen, muss diese Eigenschaft auf truefestgelegt sein.
    Empfohlener Wert wahr
    Sicherheitsrisikobewertung 8.8
    Funktionale Auswirkung Diese Korrektur erzwingt die XML-Codierung auf XML-Parser-Ebene in der Anwenderoberfläche. Sie rendert die codierten Ergebnisse für den Benutzer, was je nach Interaktion des Instanzbenutzers mit den resultierenden Daten Auswirkungen auf die Funktionalität haben 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 einer Anwendersitzung 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 für die HTML-Tags in der Katalogelementbeschreibung oder im Hilfetext der Katalogelementvariablen angehalten. Sie können möglicherweise für einige Felder keine HTML-Formatierung verwenden.

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

    $⁠{JS:Ausdruck}

    $⁠{HTML:Ausdruck}

    oder

    $⁠{JS,HTML:Ausdruck}