View a markdown version of this page

Utilizzo delle trasformazioni di testo in AWS WAF - AWS WAF, AWS Firewall Manager, AWS Shield Advanced e AWS Shield direttore della sicurezza di rete

Ti presentiamo una nuova esperienza di console per AWS WAF

Ora puoi utilizzare l'esperienza aggiornata per accedere alle AWS WAF funzionalità in qualsiasi punto della console. Per maggiori dettagli, consulta Lavorare con la console.

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 da applicare prima AWS WAF di esaminare la richiesta.

Nelle dichiarazioni che cercano modelli o stabiliscono vincoli, è possibile fornire trasformazioni da applicare prima di AWS WAF esaminare la richiesta. Una trasformazione riformatta una richiesta Web per eliminare alcune formattazioni insolite utilizzate da utenti malintenzionati nel tentativo di escludere AWS WAF.

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

Se si forniscono più trasformazioni, si imposta anche l'ordine utilizzato da AWS WAF per applicarle.

WCU: ogni trasformazione di testo è composta da 10 WCU.

La documentazione della AWS WAF console e dell'API fornisce inoltre indicazioni per queste impostazioni nelle seguenti posizioni:

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

  • Contenuto della dichiarazione API TextTransformations

Opzioni per trasformazioni del testo

Ogni elenco di trasformazione mostra le specifiche della console e dell'API seguite dalla descrizione.

Base64 decode – BASE64_DECODE

AWS WAF decodifica una Base64-encoded stringa.

Base64 decode extension – BASE64_DECODE_EXT

AWS WAF decodifica una Base64-encoded stringa, ma utilizza un'implementazione tollerante che ignora i caratteri non validi.

Command line – CMD_LINE

Questa opzione attenua le situazioni in cui gli aggressori potrebbero iniettare un comando da riga di comando del sistema operativo e utilizzare una formattazione insolita per mascherare parte o tutto il comando.

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

Command line Unix – CMD_LINE_UNIX

Questa opzione attenua le situazioni in cui gli aggressori potrebbero iniettare un comando da riga di comando del sistema operativo Unix o Linux e utilizzare una formattazione insolita per mascherare parte o tutto il comando.

Utilizza questa opzione per eseguire le seguenti trasformazioni:

  • Eliminare i seguenti caratteri: \ " '

  • Sostituisci i seguenti caratteri con uno spazio: tab \t (ASCII 9), newline (ASCII 10), carriage return \n (ASCII 13), tab verticale (ASCII 11) e \r formfeed (ASCII 12) \v \f

  • Sostituire più spazi con uno spazio

  • Rimuovi gli spazi iniziali e finali

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

Command line Windows – CMD_LINE_WIN

Questa opzione attenua le situazioni in cui gli aggressori potrebbero iniettare una riga di comando o un comando del sistema operativo Windows e utilizzare una formattazione insolita per mascherare parte o tutto il PowerShell comando.

Utilizza questa opzione per eseguire le seguenti trasformazioni:

  • Eliminare i seguenti caratteri: " ' ^ `

  • Elimina le sequenze di continuazione della riga con accento circonflesso, un accento circonflesso seguito da una nuova riga o da un ritorno a capo e una nuova riga, come una singola unità \n \r\n

  • Sostituisci i seguenti caratteri con uno spazio: tab \t (ASCII 9), newline (ASCII 10), carriage return \n (ASCII 13), vertical tab (ASCII 11) e \r formfeed (ASCII 12) \v \f

  • Sostituire più spazi con uno spazio

  • Rimuovi gli spazi iniziali e finali

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

  • Sostituisci le barre rovesciate consecutive con una singola barra rovesciata. Le barre rovesciate singole vengono mantenute, quindi i percorsi Windows come c:\windows\system32\cmd.exe e i percorsi UNC rimangono intatti.

Compress whitespace – COMPRESS_WHITE_SPACE

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

  • Formfeed (ASCII 12)

  • Scheda (ASCII 9)

  • Nuova riga (ASCII 10)

  • Ritorno al carrello (ASCII 13)

  • Scheda verticale (ASCII 11)

  • Non-breaking spazio (ASCII 160)

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 caratteri ASCII che sono stati codificati usando la codifica CSS che in genere non verrebbe 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 \t\v, \xHH (esadecimale) \\ \? \'\", (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 con caratteri non codificati. HTML-encoded Questo elenco utilizza la codifica HTML minuscola, ma la gestione non fa distinzione tra maiuscole e minuscole, ad esempio e viene trattata allo stesso modo. &QuOt; "

HTML-encoded carattere

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 JavaScript escape. Se un \uHHHH codice è compreso nell'intervallo di codice ASCII a larghezza completa diFF01-FF5E, viene utilizzato il byte più alto 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.

JS decode extended – JS_DECODE_EXT

AWS WAF decodifica le sequenze di JavaScript escape comeJS_DECODE, ma utilizza un'implementazione che perdona, in modo che i percorsi dei file di Microsoft Windows non vengano alterati. JS_DECODE_EXTdifferisce da quanto segue: JS_DECODE

  • Decodifica gli escape\\, \/\', e \" rimuovendo la barra rovesciata e mantenendo il carattere successivo.

  • Conserva gli escape con un solo carattere\a,, \b \f \n \r\t, e \v mantenendo sia la barra rovesciata che il carattere successivo.

  • Conserva qualsiasi altra sequenza di \C escape non riconosciuta (ad esempio \d o\w) mantenendo sia la barra rovesciata che il carattere successivo, in modo che i percorsi dei file di Windows come e non vengano alterati. \default \windows

Lowercase – LOWERCASE

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

MD5 – MD5

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

None – NONE

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

Normalize path – NORMALIZE_PATH

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

Normalize path Windows – NORMALIZE_PATH_WIN

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

Remove comments characters – REMOVE_COMMENTS_CHAR

AWS WAF rimuove i caratteri di commento più comuni dall'input: /*, */, -- e #.

Remove nulls – REMOVE_NULLS

AWS WAF rimuove tutti i NULL byte dall'input.

Remove whitespace – REMOVE_WHITESPACE

AWS WAF rimuove tutti i caratteri di spazio bianco dall'input.

Replace comments – REPLACE_COMMENTS

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

Replace nulls – REPLACE_NULLS

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

SHA256 – SHA256

AWS WAF calcola un SHA-256 hash dai dati in ingresso. L'hash calcolato è in una forma binaria grezza.

SQL hex decode – SQL_HEX_DECODE

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

Trim – TRIM

AWS WAF rimuove gli spazi bianchi dal lato sinistro e destro dell'input.

Trim left – TRIM_LEFT

AWS WAF rimuove gli spazi bianchi dal lato sinistro dell'input.

Trim right – TRIM_RIGHT

AWS WAF rimuove gli spazi bianchi dal lato destro dell'input.

Uppercase – UPPERCASE

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

URL decode – URL_DECODE

AWS WAF URL-encoded decodifica un valore.

URL decode Unicode – URL_DECODE_UNI

Ad esempioURL_DECODE, ma con il supporto per la Microsoft-specific %u codifica. Se il codice è nell'intervallo di codice ASCII a larghezza intera di FF01-FF5E, allora il byte più alto viene utilizzato per rilevare e regolare il byte più basso. 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 riduce al minimo i falsi positivi e i falsi negativi per le lingue diverse dall'inglese.