XML codieren (Härtung der Instanzsicherheit)

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 1 Minute Lesedauer
  • Die Eigenschaft glide.ui.escape_text erzwingt das 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. Wenn Sie einen Anwendungsfall haben, bei dem die Eigenschaft geändert werden muss, wenden Sie sich an den Kundensupport.
    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>

    Weitere Informationen

    Attribut Beschreibung
    Eigenschaftsname glide.ui.escape_text
    Konfigurationstyp Systemeigenschaften (/sys_properties_list.do)
    Konfigurieren Sie im Instanz-Sicherheitszentrum Ja
    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.
    • 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
    Funktionale Auswirkung (Mittel) 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}

    Referenzen

    Strenge Sicherheitseinstellungen

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