Options de transformation du texte - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Options de transformation du texte

Dans les instructions qui recherchent des modèles ou définissent des contraintes, vous pouvez fournir des transformations AWS WAF à appliquer avant d'inspecter la demande. Les transformations de texte éliminent certaines mises en forme inhabituelles que les pirates informatiques utilisent afin de contourner AWS WAF.

Lorsque vous l'utilisez avec la sélection du composant de requête du corps de la requête JSON, AWS WAF applique vos transformations après avoir analysé et extrait les éléments à inspecter à partir du JSON. Pour plus d’informations, consultez corps JSON.

Si vous fournissez plusieurs transformations, vous définissez également l'ordre que AWS WAF doit leur appliquer.

WCU — Chaque transformation de texte correspond à 10 WCU.

La documentation de la AWS WAF console et de l'API fournit également des instructions concernant ces paramètres aux emplacements suivants :

  • Générateur de règles sur la console — Transformation de texte. Cette option est disponible lorsque vous utilisez les composants de demande.

  • Contenu de la déclaration d'APITextTransformations

Options pour les transformations de texte

Chaque liste de transformation indique les spécifications de la console et de l'API, suivies d'une description.

Base64 decode – BASE64_DECODE

AWS WAF décode une chaîne codée en Base64.

Base64 decode extension – BASE64_DECODE_EXT

AWS WAF décode une chaîne codée en Base64, mais utilise une implémentation indulgente qui ignore les caractères non valides.

Command line – CMD_LINE

Cette option limite les situations dans lesquelles des attaquants pourraient injecter une commande de ligne de commande du système d'exploitation et utiliser un formatage inhabituel pour masquer une partie ou la totalité de la commande.

Utilisez cette option pour exécuter les transformations suivantes :

  • Supprimer les caractères suivants : \ " ' ^

  • Supprimer les espaces avant les caractères suivants : / (

  • Remplacer les caractères suivants par un espace : , ;

  • Remplacer plusieurs espaces par un espace

  • Convertir les lettres majuscules A-Z, en minuscules, a-z

Compress whitespace – COMPRESS_WHITE_SPACE

AWS WAF compresse les espaces blancs en remplaçant plusieurs espaces par un espace et en remplaçant les caractères suivants par un espace (ASCII 32) :

  • Formfeed (ASCII 12)

  • Onglet (ASCII 9)

  • Nouvelle ligne (ASCII 10)

  • Retour en calèche (ASCII 13)

  • Onglet vertical (ASCII 11)

  • Espace ininterrompu (ASCII 160)

CSS decode – CSS_DECODE

AWS WAF décode les caractères codés à l'aide des règles d'échappement CSS 2.x. syndata.html#characters Cette fonction utilise jusqu'à deux octets dans le processus de décodage. Elle peut donc contribuer à découvrir les caractères ASCII qui ont été codés à l'aide d'un codage CSS et qui ne serait généralement pas codés. Elle est également utile pour contrer l'évasion, qui est une combinaison d'une barre oblique inversée et de caractères non hexadécimaux. Par exemple, ja\vascript ou javascript.

Escape sequences decode – ESCAPE_SEQ_DECODE

AWS WAF décode les séquences d'échappement ANSI C suivantes :\a,,\b,\f,\n,\r,\t,\v, \\ \?\', \xHH (hexadécimal)\", \0OOO (octal). Les encodages qui ne sont pas valides restent dans la sortie.

Hex decode – HEX_DECODE

AWS WAF décode une chaîne de caractères hexadécimaux en binaire.

HTML entity decode – HTML_ENTITY_DECODE

AWS WAF remplace les caractères représentés au format hexadécimal &#xhhhh; ou au format décimal &#nnnn; par les caractères correspondants.

AWS WAF remplace les caractères codés HTML suivants par des caractères non codés. Cette liste utilise un codage HTML en minuscules, mais le traitement ne fait pas la distinction majuscules/minuscules, par exemple, &QuOt; et est traitée de la " même manière.

Caractère codé en HTML

remplacé par...

"

"

&

&

<

<

&gt;

>

&nbsp; ou &NonBreakingSpace;

Espace insécable, décimale 160

&NewLine;

\n, décimal 10

&Tab;

\t, décimal 9

&lcub; ou &lbrace;

{

&verbar;, &vert; ou &VerticalLine;

|

&rcub; ou &rbrace;

}

&excl;

!

&num;

#

&dollar;

$

&percent; ou &percnt;

%

&apos;

\

&lpar;

(

&rpar;

)

&ast; ou &midast;

*

&plus;

+

&comma;

,

&period;

.

&sol;

/

&colon;

:

&semi;

;

&equals;

=

&quest;

?

&tilde; ou &DiacriticalTilde;

~

&minus;

-

&lsqb; ou &lbrack;

[

&bsol;

\\

&rsqb; ou &rbrack;

]

&hat;

^

&lowbar; ou &underbar;

_

&grave; ou &DiacriticalGrave;

`

JS decode – JS_DECODE

AWS WAF décode les séquences JavaScript d'échappement. Si un \uHHHH code se situe dans la plage de code ASCII pleine largeur deFF01-FF5E, l'octet le plus élevé est utilisé pour détecter et ajuster l'octet inférieur. Dans le cas contraire, seul l'octet inférieur est utilisé et l'octet supérieur est mis à zéro, ce qui peut entraîner une perte d'informations.

Lowercase – LOWERCASE

AWS WAF convertit les lettres majuscules (A-Z) en minuscules (a-z).

MD5 – MD5

AWS WAF calcule un hachage MD5 à partir des données en entrée. Le hachage calculé est au format binaire brut.

None – NONE

AWS WAF inspecte la demande Web telle qu'elle a été reçue, sans aucune transformation de texte.

Normalize path – NORMALIZE_PATH

AWS WAF normalise la chaîne d'entrée en supprimant les barres obliques multiples, les références automatiques de répertoire et les références arrières de répertoire qui ne se trouvent pas au début de l'entrée.

Normalize path Windows – NORMALIZE_PATH_WIN

AWS WAF convertit les barres obliques inverses en barres obliques directes, puis traite la chaîne résultante à l'aide de la transformation. NORMALIZE_PATH

Remove nulls – REMOVE_NULLS

AWS WAF supprime tous les NULL octets de l'entrée.

Replace comments – REPLACE_COMMENTS

AWS WAF remplace chaque occurrence d'un commentaire de style C (/*... */) par un seul espace. Il ne compresse pas plusieurs occurrences consécutives. Il remplace les commentaires non terminés par un espace (ASCII 0x20). Cela ne change rien à la fin autonome d'un commentaire (*/).

Replace nulls – REPLACE_NULLS

AWS WAF remplace chaque NULL octet de l'entrée par le caractère espace (ASCII 0x20).

SQL hex decode – SQL_HEX_DECODE

AWS WAF décode les données hexadécimales SQL. Par exemple, AWS WAF décode (0x414243) vers (ABC).

URL decode – URL_DECODE

AWS WAF décode une valeur codée en URL.

URL decode Unicode – URL_DECODE_UNI

CommeURL_DECODE, mais avec le support du codage spécifique à Microsoft. %u Si le code se trouve dans la plage de codes ASCII dans toute sa largeur de FF01-FF5E, l'octet supérieur est utilisé pour détecter et ajuster l'octet inférieur. Sinon, seul l'octet inférieur est utilisé et l'octet supérieur est mis à zéro.

UTF8 to Unicode – UTF8_TO_UNICODE

AWS WAF convertit toutes les séquences de caractères UTF-8 en Unicode. Cela permet de normaliser la saisie et de minimiser les faux positifs et les faux négatifs pour les langues autres que l'anglais.