Utilizzo delle trasformazioni di testo in AWS WAF - AWS WAFAWS Firewall Manager, e AWS Shield Advanced

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo delle trasformazioni di testo in AWS WAF

Questa sezione spiega come fornire trasformazioni per AWS WAF da presentare prima di esaminare la richiesta.

Nelle istruzioni che cercano schemi o impostano vincoli, è possibile fornire trasformazioni per AWS WAF da presentare prima di esaminare la richiesta. Una trasformazione riformatta una richiesta web per eliminare parte della formattazione insolita utilizzata dagli aggressori nel tentativo di aggirare AWS WAF.

Quando lo usi con la selezione del JSON componente body request, AWS WAF applica le trasformazioni dopo aver analizzato ed estratto gli elementi da ispezionare da. JSON Per ulteriori informazioni, consulta JSONcorpo.

Se fornite più di una trasformazione, impostate anche l'ordine per AWS WAF per applicarli.

WCUs— Ogni trasformazione del testo è pari a 10WCUs.

Il AWS WAF la console e API la documentazione forniscono inoltre indicazioni per queste impostazioni nelle seguenti posizioni:

  • Generatore di regole sulla console: trasformazione del testo. Questa opzione è disponibile quando utilizzi componenti di richiesta.

  • APIcontenuto della dichiarazioneTextTransformations

Opzioni per trasformazioni del testo

Ogni elenco di trasformazione mostra la console e API le specifiche seguite dalla descrizione.

Base64 decode – BASE64_DECODE

AWS WAF decodifica una stringa con codifica Base64.

Base64 decode extension – BASE64_DECODE_EXT

AWS WAF decodifica una stringa con codifica Base64, ma utilizza un'implementazione indulgente che ignora i caratteri non validi.

Command line – CMD_LINE

Questa opzione mitiga le situazioni in cui gli aggressori potrebbero iniettare un comando dalla riga di comando del sistema operativo e utilizzare una formattazione insolita per mascherare alcuni o tutti i comandi.

Utilizza questa opzione per eseguire le seguenti trasformazioni:

  • Eliminare i seguenti caratteri: \ " ' ^

  • Eliminare gli spazi prima dei seguenti caratteri: / (

  • Sostituire i seguenti caratteri con uno spazio: , ;

  • Sostituire più spazi con uno spazio

  • Convertire lettere maiuscole, A-Z, in minuscole, a-z

Compress whitespace – COMPRESS_WHITE_SPACE

AWS WAF comprime lo spazio bianco sostituendo più spazi con uno spazio e sostituendo i seguenti caratteri con uno spazio (32): ASCII

  • Formfeed (12) ASCII

  • Scheda (ASCII9)

  • Nuova riga (ASCII10)

  • Restituzione in carrozza (13) ASCII

  • Linguetta verticale (ASCII11)

  • Spazio senza interruzioni (ASCII160)

CSS decode – CSS_DECODE

AWS WAF decodifica i caratteri codificati utilizzando le regole di escape CSS 2.x. syndata.html#characters Questa funzione utilizza fino a due byte nel processo di decodifica, quindi può aiutare a scoprire ASCII caratteri che sono stati codificati utilizzando una codifica che in genere non verrebbe CSS codificata. È utile anche per contrastare l'evasione, che è una combinazione di una barra rovesciata e caratteri non esadecimali. Ad esempio: ja\vascript per javascript.

Escape sequences decode – ESCAPE_SEQ_DECODE

AWS WAF decodifica le seguenti sequenze di escape ANSI C:\a,,,,,,\b,\f, \n\r, (esadecimale) \t \v \\ \? \'\", \xHH (ottale). \0OOO Le codifiche non valide rimangono nell'output.

Hex decode – HEX_DECODE

AWS WAF decodifica una stringa di caratteri esadecimali in un binario.

HTML entity decode – HTML_ENTITY_DECODE

AWS WAF sostituisce i caratteri rappresentati in formato &#xhhhh; esadecimale o decimale con i caratteri corrispondenti. &#nnnn;

AWS WAF sostituisce i seguenti caratteri codificati con caratteri non codificati. HTML Questo elenco utilizza la HTML codifica in minuscolo, ma la gestione non fa distinzione tra maiuscole e minuscole, ad esempio e viene trattata allo stesso modo. &QuOt; "

HTML- carattere codificato

sostituito con...

"

"

&

&

<

<

&gt;

>

&nbsp; o &NonBreakingSpace;

spazio unificatore, decimale 160

&NewLine;

\n, decimale 10

&Tab;

\t, decimale 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 le sequenze di escape JavaScript . Se un \uHHHH codice rientra nell'intervallo di ASCII codici a larghezza intera diFF01-FF5E, viene utilizzato il byte superiore per rilevare e regolare il byte inferiore. In caso contrario, viene utilizzato solo il byte più basso e il byte più alto viene azzerato, causando una possibile perdita di informazioni.

Lowercase – LOWERCASE

AWS WAF converte le lettere maiuscole (A-Z) in minuscole (a-z).

MD5 – MD5

AWS WAF calcola un MD5 hash a partire dai dati in input. L'hash calcolato è in una forma binaria grezza.

None – NONE

AWS WAF ispeziona la richiesta web così come è stata ricevuta, senza trasformazioni di testo.

Normalize path – NORMALIZE_PATH

AWS WAF normalizza la stringa di input rimuovendo più barre, riferimenti automatici alle directory e riferimenti retrospettivi alle directory che non si trovano all'inizio dell'input.

Normalize path Windows – NORMALIZE_PATH_WIN

AWS WAF converte i caratteri della barra rovesciata in barre in avanti e quindi elabora la stringa risultante utilizzando la trasformazione. NORMALIZE_PATH

Remove nulls – REMOVE_NULLS

AWS WAF rimuove tutti i NULL byte dall'input.

Replace comments – REPLACE_COMMENTS

AWS WAF sostituisce ogni occorrenza di un commento in stile C (/*... */) con un singolo spazio. Non comprime più occorrenze consecutive. Sostituisce i commenti non terminati con uno spazio (0x20). ASCII Non modifica la terminazione autonoma di un commento (*/).

Replace nulls – REPLACE_NULLS

AWS WAF sostituisce ogni NULL byte nell'input con il carattere spazio (0x20). ASCII

SQL hex decode – SQL_HEX_DECODE

AWS WAF decodifica i dati esadecimali. SQL Ad esempio, AWS WAF decodifica (0x414243) in (ABC).

URL decode – URL_DECODE

AWS WAF decodifica un valore con URL codifica.

URL decode Unicode – URL_DECODE_UNI

TipoURL_DECODE, ma con supporto per la codifica specifica di Microsoft%u. Se il codice è compreso nell'intervallo di codici a larghezza intera ASCII diFF01-FF5E, il byte più alto viene utilizzato per rilevare e regolare il byte inferiore. Altrimenti, viene utilizzato solo il byte più basso e il byte più alto viene azzerato.

UTF8 to Unicode – UTF8_TO_UNICODE

AWS WAF converte tutte le sequenze di UTF -8 caratteri in Unicode. Questo aiuta a normalizzare l'input e a ridurre al minimo i falsi positivi e i falsi negativi per le lingue diverse dall'inglese.