Glossário da F5

Processamento de Escape

"Escape" 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 strings 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 em HTML, um navegador da web 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 < para < e > para >. Quando um navegador encontra essas sequências de escape, ele as renderiza visualmente como os caracteres originais (< e >). Esse processo de conversão é o que chamamos de "escape".

A fuga é especialmente importante no contexto da segurança na web. É um aspecto essencial da "sanitização", uma prática que visa lidar com segurança com as entradas do usuário fornecidas por meio de formulários da web.

Por exemplo, imagine um application web que recebe a entrada do usuário de um formulário e a exibe diretamente em uma página subsequente. Suponha que um usuário envie a entrada:
<script>alert("Olá!");</script>
Se o application da web incluir essa sequência diretamente na página resultante sem escapar, o navegador a interpretará e executará como código JavaScript. Consequentemente, uma caixa de alerta pop-up exibindo "Olá!" aparecia, o que não era pretendido pelo criador ou administrador do site. Embora esse script simples possa não causar danos significativos, a capacidade de um terceiro usuário incorporar scripts arbitrariamente em páginas da web é um problema sério, potencialmente expondo o site a ataques de Cross-Site Scripting (XSS) e outras ameaças de segurança.

Para evitar isso, o application web deve escapar corretamente os caracteres especiais antes de apresentar esses dados. Ao substituir < e > por suas sequências de escape correspondentes (< e >), o script malicioso seria renderizado inofensivamente como a string:
<script>alert("Olá!");</script>
Nesse formato, o navegador o trata estritamente como texto, neutralizando quaisquer scripts e exibindo-os conforme o esperado, sem desencadear comportamentos indesejados.

A maioria das linguagens e estruturas modernas de desenvolvimento de application web têm funções integradas para escapar strings adequadamente. Entretanto, verificar se cada entrada foi escapada corretamente em applications web complexos e identificar e corrigir elementos problemáticos pode exigir tempo e esforço consideráveis. Uma solução altamente eficaz para esse problema é usar um Firewall de Application Web (WAF), que garante que as entradas enviadas pelo usuário sejam ignoradas antes de chegarem ao application web.

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