"Escapar" refere-se ao processo, em linguagens de marcação, linguagens de programação ou linguagens de script, de converter caracteres ou símbolos que têm significados especiais em sequências alternativas que podem ser processadas com segurança.

Por exemplo, em HTML, os caracteres < e > são reservados para descrever tags. Se esses caracteres aparecerem diretamente no HTML, o navegador os interpretará como marcação, e não como texto simples. Portanto, para exibir esses símbolos como texto simples, eles devem ser escritos como sequências de escape, como &lt; para < e &gt; para >. Quando um navegador encontra essas sequências de escape, ele as exibe visualmente como os caracteres originais (< e >). Esse processo de conversão é o que chamamos de "escape".

O escape é especialmente importante no contexto da segurança na web. Ele é um aspecto essencial da "sanitização", uma prática que visa processar com segurança as entradas fornecidas pelos usuários por meio de formulários web.

Por exemplo, imagine uma aplicação web que recebe a entrada do usuário por meio de um formulário e a exibe diretamente em uma página subsequente. Suponha que um usuário envie a seguinte entrada:


<script>alert("Olá!");</script>


Se a aplicação web incluir diretamente essa string na página resultante sem aplicar escape, o navegador a interpretará e executará como código JavaScript. Consequentemente, uma caixa de alerta pop-up exibindo "Olá!" aparecerá, o que não era a intenção do criador ou administrador do site. Embora esse script simples possa não causar danos significativos, a possibilidade de um usuário externo inserir scripts arbitrariamente em páginas web é um problema grave, que pode expor o site a ataques de Cross-Site Scripting (XSS) e a outras ameaças à segurança.

Para evitar isso, a aplicação web deve escapar corretamente os caracteres especiais antes de exibir esses dados. Ao substituir < e > por suas respectivas sequências de escape (&lt; e &gt;), o script malicioso seria exibido de forma inofensiva como a string:


&lt;script&gt;alert("Olá!");&lt;/script&gt;


Dessa forma, o navegador o trata estritamente como texto, neutralizando quaisquer scripts e exibindo-os conforme o esperado, sem acionar comportamentos indesejados.

A maioria das linguagens e dos frameworks modernos de desenvolvimento de aplicações web possui funções integradas para escapar strings adequadamente. No entanto, verificar se todas as entradas estão corretamente escapadas em aplicações web complexas, bem como identificar e corrigir elementos problemáticos, pode exigir tempo e esforço consideráveis. Uma solução altamente eficaz para esse problema é usar um Web Application Firewall (WAF), que garante que as entradas enviadas pelos usuários sejam escapadas antes de chegarem à aplicação web.

A F5 oferece funcionalidade de WAF com a solução F5 BIG-IP.