„Escaping“ bezeichnet in Auszeichnungs-, Programmier- oder Skriptsprachen den Vorgang, Zeichen oder Symbole mit besonderer Bedeutung in alternative Zeichenfolgen umzuwandeln, die sicher verarbeitet werden können.

In HTML sind beispielsweise die Zeichen < und > für die Beschreibung von Tags reserviert. Wenn diese Zeichen direkt im HTML-Code vorkommen, interpretiert ein Webbrowser sie als Markup und nicht als reinen Text. Damit diese Symbole als reiner Text angezeigt werden, müssen sie daher als Escape-Sequenzen geschrieben werden, beispielsweise &lt; für < und &gt; für >. Wenn ein Browser auf diese Escape-Sequenzen stößt, stellt er sie visuell als die ursprünglichen Zeichen (< und >) dar. Dieser Umwandlungsprozess wird als „Escaping“ bezeichnet.

Escaping ist insbesondere im Zusammenhang mit Websicherheit wichtig. Es ist ein wesentlicher Bestandteil der „Sanitization“, einer Methode zur sicheren Verarbeitung von Benutzereingaben, die über Webformulare übermittelt werden.

Stellen Sie sich beispielsweise eine Webanwendung vor, die Benutzereingaben aus einem Formular übernimmt und direkt auf einer nachfolgenden Seite anzeigt. Angenommen, ein Benutzer übermittelt folgende Eingabe:


<script>alert("Hallo!");</script>


Wenn die Webanwendung diese Zeichenfolge ohne Maskierung direkt in die resultierende Seite einfügt, interpretiert der Browser sie als JavaScript-Code und führt sie aus. Daraufhin würde ein Pop-up-Fenster mit der Meldung „Hello!“ erscheinen, was vom Ersteller oder Administrator der Website nicht beabsichtigt war. Auch wenn dieses einfache Skript möglicherweise keinen erheblichen Schaden anrichtet, stellt die Möglichkeit, dass Dritte beliebige Skripte in Webseiten einbetten können, ein ernstes Problem dar. Dadurch könnte die Website Cross-Site-Scripting-Angriffen (XSS) und anderen Sicherheitsbedrohungen ausgesetzt werden.

Um dies zu verhindern, sollte die Webanwendung Sonderzeichen korrekt maskieren, bevor sie solche Daten ausgibt. Wenn < und > durch die entsprechenden Escape-Sequenzen (&lt; und &gt;) ersetzt werden, wird das schädliche Skript lediglich als harmlose Zeichenfolge dargestellt:


&lt;script&gt;alert("Hallo!");&lt;/script&gt;


In dieser Form behandelt der Browser den Inhalt ausschließlich als Text. Dadurch werden sämtliche Skripte unschädlich gemacht und wie vorgesehen angezeigt, ohne unbeabsichtigtes Verhalten auszulösen.

Die meisten modernen Programmiersprachen und Frameworks für die Entwicklung von Webanwendungen verfügen über integrierte Funktionen, um Zeichenfolgen ordnungsgemäß zu maskieren. Bei komplexen Webanwendungen kann es jedoch erheblichen Zeit- und Arbeitsaufwand erfordern, zu überprüfen, ob sämtliche Eingaben korrekt maskiert werden, sowie problematische Elemente zu identifizieren und zu korrigieren. Eine äußerst wirksame Lösung für dieses Problem ist der Einsatz einer Web Application Firewall (WAF), die dafür sorgt, dass von Benutzern übermittelte Eingaben maskiert werden, bevor sie die Webanwendung erreichen.

F5 bietet WAF-Funktionalität mit der Lösung „F5 BIG-IP“.