Verwenden von Texttransformationen in AWS WAF - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Texttransformationen in AWS WAF

In diesem Abschnitt wird erklärt, wie Sie Transformationen für bereitstellen AWS WAF vor der Prüfung des Antrags einen Antrag zu stellen.

In Anweisungen, die nach Mustern suchen oder Beschränkungen festlegen, können Sie Transformationen für angeben AWS WAF vor der Prüfung des Antrags einen Antrag zu stellen. Bei einer Transformation wird eine Webanforderung neu formatiert, um einige der ungewöhnlichen Formatierungen zu beseitigen, mit denen Angreifer versuchen, sie zu umgehen AWS WAF.

Wenn Sie dies zusammen mit der Auswahl der Komponente „JSONBody Request“ verwenden, AWS WAF wendet Ihre Transformationen an, nachdem Sie die zu untersuchenden Elemente analysiert und extrahiert haben. JSON Weitere Informationen finden Sie unter JSONKörper.

Wenn Sie mehr als eine Transformation angeben, legen Sie auch die Reihenfolge für fest AWS WAF um sie anzuwenden.

WCUs— Jede Texttransformation ist WCUs 10.

Das Tool AWS WAF Die Konsole und die API Dokumentation enthalten außerdem Anleitungen zu diesen Einstellungen an den folgenden Stellen:

  • Rule Builder in der Konsole – Text transformation (Texttransformation). Diese Option ist verfügbar, wenn Sie Anforderungskomponenten verwenden.

  • APIInhalt der ErklärungTextTransformations

Optionen für Texttransformationen

Jede Transformationsliste zeigt die Konsole und die API Spezifikationen, gefolgt von der Beschreibung.

Base64 decode – BASE64_DECODE

AWS WAF dekodiert eine Base64-kodierte Zeichenfolge.

Base64 decode extension – BASE64_DECODE_EXT

AWS WAF dekodiert eine Base64-kodierte Zeichenfolge, verwendet jedoch eine fehlerverzeihende Implementierung, die ungültige Zeichen ignoriert.

Command line – CMD_LINE

Diese Option entschärft Situationen, in denen Angreifer möglicherweise einen Befehlszeilenbefehl des Betriebssystems eingeben und ungewöhnliche Formatierungen verwenden, um den Befehl ganz oder teilweise zu verschleiern.

Verwenden Sie diese Option, um die folgenden Transformationen durchzuführen:

  • Löschen der folgenden Zeichen: \ " ' ^

  • Löschen von Leerzeichen vor den folgenden Zeichen: / (

  • Ersetzen der folgenden Zeichen durch ein Leerzeichen: , ;

  • Ersetzen mehrerer Leerzeichen durch ein Leerzeichen

  • Großbuchstaben (A-Z) in Kleinbuchstaben (a-z) umwandeln

Compress whitespace – COMPRESS_WHITE_SPACE

AWS WAF komprimiert Leerzeichen, indem mehrere Leerzeichen durch ein Leerzeichen und die folgenden Zeichen durch ein Leerzeichen (32) ersetzt werden: ASCII

  • Formfeed (12) ASCII

  • Registerkarte (ASCII9)

  • Neue Zeile (ASCII10)

  • Beförderung und Rückgabe (ASCII13)

  • Vertikale Lasche (ASCII11)

  • Sicherer Speicherplatz (ASCII160)

CSS decode – CSS_DECODE

AWS WAF dekodiert Zeichen, die mit CSS 2.x-Escape-Regeln codiert wurden. syndata.html#characters Diese Funktion verwendet bei der Dekodierung bis zu zwei Byte, sodass sie dabei helfen kann, ASCII Zeichen aufzudecken, die mit einer CSS Kodierung codiert wurden, die normalerweise nicht codiert werden würde. Sie ist auch nützlich, um eine Umgehung zu verhindern, also eine Kombination aus einem Rückwärtsschrägstrich und nicht-hexadezimalen Zeichen. Beispielsweise ja\vascript für javascript.

Escape sequences decode – ESCAPE_SEQ_DECODE

AWS WAF dekodiert die folgenden ANSI C-Escape-Sequenzen:\a,,,\b,\f,,\n,\r,,\t, \v\\, \xHH (hexadezimal) \? \'\", (oktal). \0OOO Ungültige Codierungen verbleiben in der Ausgabe.

Hex decode – HEX_DECODE

AWS WAF dekodiert eine Folge von Hexadezimalzeichen in eine Binärdatei.

HTML entity decode – HTML_ENTITY_DECODE

AWS WAF ersetzt Zeichen, die im Hexadezimalformat &#xhhhh; oder Dezimalformat dargestellt werden, durch die entsprechenden Zeichen. &#nnnn;

AWS WAF ersetzt die folgenden HTML -codierten Zeichen durch unkodierte Zeichen. Diese Liste verwendet KleinbuchstabenHTML, aber bei der Behandlung wird beispielsweise &QuOt; nicht zwischen Groß- und Kleinschreibung unterschieden und sie werden gleich behandelt. "

HTML-codiertes Zeichen

ersetzt durch...

"

"

&

&

<

<

&gt;

>

&nbsp; oder &NonBreakingSpace;

geschütztes Leerzeichen, Dezimalzahl 160

&NewLine;

\n, Dezimalzahl 10

&Tab;

\t, Dezimalzahl 9

&lcub; oder &lbrace;

{

&verbar;, &vert; oder &VerticalLine;

|

&rcub; oder &rbrace;

}

&excl;

!

&num;

#

&dollar;

$

&percent; oder &percnt;

%

&apos;

\

&lpar;

(

&rpar;

)

&ast; oder &midast;

*

&plus;

+

&comma;

,

&period;

.

&sol;

/

&colon;

:

&semi;

;

&equals;

=

&quest;

?

&tilde; oder &DiacriticalTilde;

~

&minus;

-

&lsqb; oder &lbrack;

[

&bsol;

\\

&rsqb; oder &rbrack;

]

&hat;

^

&lowbar; oder &underbar;

_

&grave; oder &DiacriticalGrave;

`

JS decode – JS_DECODE

AWS WAF dekodiert JavaScript Escape-Sequenzen. Wenn sich ein \uHHHH Code im ASCII Codebereich mit voller Breite von befindetFF01-FF5E, wird das höhere Byte verwendet, um das niedrigere Byte zu erkennen und anzupassen. Wenn nicht, wird nur das niedrigere Byte verwendet und das höhere Byte wird auf Null gesetzt, was zu einem möglichen Datenverlust führt.

Lowercase – LOWERCASE

AWS WAF wandelt Großbuchstaben (A-Z) in Kleinbuchstaben (a-z) um.

MD5 – MD5

AWS WAF berechnet einen MD5 Hash aus den Daten in der Eingabe. Der berechnete Hash liegt in einer rohen binären Form vor.

None – NONE

AWS WAF überprüft die Webanforderung so, wie sie empfangen wurde, ohne Texttransformationen.

Normalize path – NORMALIZE_PATH

AWS WAF normalisiert die Eingabezeichenfolge, indem mehrere Schrägstriche, Verzeichnis-Selbstverweise und Verzeichnisrückverweise, die nicht am Anfang der Eingabe stehen, entfernt werden.

Normalize path Windows – NORMALIZE_PATH_WIN

AWS WAF konvertiert Backslash-Zeichen in Schrägstriche und verarbeitet dann die resultierende Zeichenfolge mithilfe der Transformation. NORMALIZE_PATH

Remove nulls – REMOVE_NULLS

AWS WAF entfernt alle NULL Byte aus der Eingabe.

Replace comments – REPLACE_COMMENTS

AWS WAF ersetzt jedes Vorkommen eines Kommentars im C-Stil (/*... */) durch ein einzelnes Leerzeichen. Mehrere aufeinanderfolgende Vorkommen werden nicht komprimiert. Es ersetzt unterbrochene Kommentare durch ein Leerzeichen (0x20). ASCII Eigenständige Beendigungen von Kommentaren (*/) werdem nicht geändert.

Replace nulls – REPLACE_NULLS

AWS WAF ersetzt jedes NULL Byte in der Eingabe durch das Leerzeichen (ASCII0x20).

SQL hex decode – SQL_HEX_DECODE

AWS WAF dekodiert SQL Hex-Daten. Zum Beispiel AWS WAF dekodiert (0x414243) nach (ABC).

URL decode – URL_DECODE

AWS WAF dekodiert einen URL -codierten Wert.

URL decode Unicode – URL_DECODE_UNI

Wie URL_DECODE, aber mit Unterstützung für Microsoft-spezifische %u-Kodierung. Wenn sich der Code im ASCII Codebereich mit voller Breite von befindetFF01-FF5E, wird das höhere Byte verwendet, um das niedrigere Byte zu erkennen und anzupassen. Andernfalls wird nur das niedrigere Byte verwendet und das höhere Byte wird auf Null gesetzt.

UTF8 to Unicode – UTF8_TO_UNICODE

AWS WAF konvertiert alle UTF -8 Zeichenfolgen in Unicode. Dies trägt zur Normalisierung der Eingabe bei und minimiert Falsch-Positives und Falsch-Negatives für nicht-englische Sprachen.