Opciones de transformación de texto - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Opciones de transformación de texto

En las instrucciones que buscan patrones o establecen restricciones, puede proporcionar transformaciones AWS WAF para que se apliquen antes de inspeccionar la solicitud. Una transformación reformatea una solicitud web para eliminar parte del formato inusual que los atacantes utilizan con el objetivo de eludir AWS WAF.

Si lo utiliza con la selección de componentes de la solicitud del cuerpo JSON, AWS WAF aplica las transformaciones después de analizar y extraer los elementos de la JSON para inspeccionarlos. Para obtener más información, consulte Cuerpo JSON.

Si proporciona más de una transformación, también establece la orden para que AWS WAF las aplique.

Unidad de capacidad de escritura (WCU): cada transformación de texto equivale a 10 WCU.

La documentación de la AWS WAF consola y la API también proporciona orientación sobre estos ajustes en las siguientes ubicaciones:

  • Generador de reglas en la consola: Transformación de texto. Esta opción está disponible cuando se utilizan componentes de solicitud.

  • Contenido de la instrucción de API: TextTransformations

Opciones para transformaciones de texto

Cada lista de transformaciones muestra las especificaciones de la consola y la API seguidas de una descripción.

Base64 decode – BASE64_DECODE

AWS WAF decodifica una cadena codificada en Base64.

Base64 decode extension – BASE64_DECODE_EXT

AWS WAF decodifica una cadena codificada en Base64, pero usa una implementación flexible que ignora los caracteres que no son válidos.

Command line – CMD_LINE

Esta opción mitiga las situaciones en las que los atacantes podrían estar inyectando un comando de línea de comandos del sistema operativo y utilizando un formato inusual para disfrazar una parte o la totalidad del comando.

Utilice esta opción para realizar las siguientes transformaciones:

  • Eliminar los siguientes caracteres: \ " ' ^

  • Eliminar los espacios delante de los siguientes caracteres: / (

  • Sustituir los siguientes caracteres por un espacio: , ;

  • Sustituir varios espacios por un espacio

  • Convertir letras mayúsculas, A-Z, a minúsculas, a-z

Compress whitespace – COMPRESS_WHITE_SPACE

AWS WAF comprime los espacios en blanco sustituyendo varios espacios por un espacio y sustituyendo los siguientes caracteres por un carácter de espacio (ASCII 32):

  • Avance de página (ASCII 12)

  • Pestaña (ASCII 9)

  • Nueva línea (ASCII 10)

  • Retorno de carro (ASCII 13)

  • Pestaña vertical (ASCII 11)

  • Espacio duro (ASCII 160)

CSS decode – CSS_DECODE

AWS WAF decodifica los caracteres codificados mediante las reglas de escape de CSS 2.x. syndata.html#characters Esta función utiliza hasta dos bytes en el proceso de decodificación, por lo que puede ayudar a descubrir caracteres ASCII que se codificaron en CSS y que normalmente no se codificarían. También es útil para contrarrestar la evasión, que es una combinación de una barra invertida y caracteres no hexadecimales. Por ejemplo, ja\vascript para javascript.

Escape sequences decode – ESCAPE_SEQ_DECODE

AWS WAF decodifica las siguientes secuencias de escape ANSI C:\a,,\b,\f,\n,\r,\t,, \v\\, \xHH (hexadecimal) \? \'\", \0OOO (octal). Las codificaciones que no son válidas permanecen en la salida.

Hex decode – HEX_DECODE

AWS WAF decodifica una cadena de caracteres hexadecimales en un binario.

HTML entity decode – HTML_ENTITY_DECODE

AWS WAF reemplaza los caracteres que se representan en formato hexadecimal &#xhhhh; o decimal por &#nnnn; los caracteres correspondientes.

AWS WAF reemplaza los siguientes caracteres codificados en HTML por caracteres no codificados. Esta lista utiliza la codificación HTML en minúsculas, pero el manejo no distingue entre mayúsculas y minúsculas, por ejemplo, y se tratan de la misma manera. &QuOt; "

Carácter codificado en HTML

sustituido por…

"

"

&

&

<

<

&gt;

>

&nbsp; o &NonBreakingSpace;

espacio de no separación, 160 decimales

&NewLine;

\n, decimal 10

&Tab;

\t, decimal 9

&lcub; o &lbrace;

{

&verbar;, &vert; o &VerticalLine;

|

&rcub; o &rbrace;

}

&excl;

!

&num;

#

&dollar;

$

&percent; o &percnt;

%

&apos;

\

&lpar;

(

&rpar;

)

&ast; o &midast;

*

&plus;

+

&comma;

,

&period;

.

&sol;

/

&colon;

:

&semi;

;

&equals;

=

&quest;

?

&tilde; o &DiacriticalTilde;

~

&minus;

-

&lsqb; o &lbrack;

[

&bsol;

\\

&rsqb; o &rbrack;

]

&hat;

^

&lowbar; o &underbar;

_

&grave; o &DiacriticalGrave;

`

JS decode – JS_DECODE

AWS WAF decodifica secuencias de escape JavaScript . Si un código \uHHHH está en el rango del código ASCII de ancho completo de FF01-FF5E, el byte superior se utiliza para detectar y ajustar el byte inferior. Si no, solo se utiliza el byte inferior y el byte superior se pone en cero, lo que provoca una posible pérdida de información.

Lowercase – LOWERCASE

AWS WAF convierte letras mayúsculas (A-Z) en minúsculas (a-z).

MD5 – MD5

AWS WAF calcula un hash MD5 a partir de los datos de la entrada. El hash calculado está en forma binaria sin procesar.

None – NONE

AWS WAF inspecciona la solicitud web tal como se recibió, sin ninguna transformación de texto.

Normalize path – NORMALIZE_PATH

AWS WAF normaliza la cadena de entrada eliminando las barras diagonales múltiples, las autorreferencias de los directorios y las referencias inversas de los directorios que no estén al principio de la entrada.

Normalize path Windows – NORMALIZE_PATH_WIN

AWS WAF convierte los caracteres de barra invertida en barras diagonales y, a continuación, procesa la cadena resultante mediante la transformación. NORMALIZE_PATH

Remove nulls – REMOVE_NULLS

AWS WAF elimina todos los NULL bytes de la entrada.

Replace comments – REPLACE_COMMENTS

AWS WAF reemplaza cada aparición de un comentario de estilo C (/*... */) por un solo espacio. No comprime varias repeticiones consecutivas. Sustituye los comentarios no finalizados terminados por un espacio (ASCII 0x20). No cambia la finalización independiente de un comentario (*/).

Replace nulls – REPLACE_NULLS

AWS WAF reemplaza cada NULL byte de la entrada por el carácter de espacio (ASCII 0x20).

SQL hex decode – SQL_HEX_DECODE

AWS WAF decodifica los datos hexadecimales de SQL. Por ejemplo, AWS WAF decodifica (0x414243) en (). ABC

URL decode – URL_DECODE

AWS WAF decodifica un valor codificado en una URL.

URL decode Unicode – URL_DECODE_UNI

Como URL_DECODE, pero compatible con la codificación de %u específica de Microsoft. Si el código está en el rango FF01-FF5E del código ASCII de ancho completo, el byte superior se utiliza para detectar y ajustar el byte inferior. De lo contrario, solo se utiliza el byte inferior y el byte superior se pone en cero.

UTF8 to Unicode – UTF8_TO_UNICODE

AWS WAF convierte todas las secuencias de caracteres UTF-8 a Unicode. Esto ayuda a normalizar la entrada y minimiza los falsos positivos y los falsos negativos en idiomas distintos del inglés.