Glosario de F5

Procesamiento de escape

"Escapar" se refiere al proceso en lenguajes de marcado, lenguajes de programación o lenguajes de script de convertir caracteres o símbolos que tienen significados especiales en cadenas alternativas que pueden procesarse de forma segura.

Por ejemplo, en HTML, los caracteres < y > están reservados para describir etiquetas. Si estos caracteres aparecen directamente en HTML, un navegador web los interpreta como marcado en lugar de texto simple. Por lo tanto, para mostrar estos símbolos como texto simple, deben escribirse como secuencias de escape, como < para < y > para >. Cuando un navegador encuentra estas secuencias de escape, las representa visualmente como los caracteres originales (< y >). Este proceso de conversión es lo que llamamos “escapar”.

El escape es especialmente importante en el contexto de la web security. Es un aspecto esencial de la “saneamiento”, una práctica cuyo objetivo es manejar de forma segura la información ingresada por los usuarios a través de formularios web.

Por ejemplo, imagine una aplicação web que toma la entrada del usuario de un formulario y la muestra directamente en una página posterior. Supongamos que un usuario envía la entrada:
<script>alert("¡Hola!");</script>
Si la aplicação web incluye directamente esta cadena en la página resultante sin escapar, el navegador la interpreta y la ejecuta como código JavaScript. En consecuencia, aparecía un cuadro de alerta emergente que decía "¡Hola!", lo cual no fue previsto por el creador o administrador del sitio web. Si bien este script simple puede no causar un daño significativo, la capacidad de un usuario externo de insertar scripts arbitrariamente en páginas web es un problema grave, que potencialmente expone el sitio a ataques de Cross-Site Scripting (XSS) y otras amenazas de seguridad.

Para evitar esto, la aplicação web debe escapar correctamente los caracteres especiales antes de presentar dichos datos. Al reemplazar < y > con sus secuencias de escape correspondientes (< y >), el script malicioso se representaría de forma inofensiva como la cadena:
<script>alert("¡Hola!");</script>
De esta forma, el navegador lo trata estrictamente como texto, neutralizando así cualquier script y mostrándolo como está previsto, sin provocar un comportamiento no deseado.

La mayoría de los lenguajes y marcos de desarrollo de aplicação web modernos tienen funciones integradas para escapar cadenas de forma adecuada. Sin embargo, verificar que cada entrada esté correctamente escapada en aplicações web complejas, e identificar y corregir elementos problemáticos, puede requerir mucho tiempo y esfuerzo. Una solución muy eficaz para este problema es utilizar un firewall de aplicação web (WAF), que garantiza que las entradas enviadas por el usuario se escapen antes de llegar a la aplicação web.

F5 ofrece funcionalidad WAF con la solución F5 BIG-IP .