Wir stellen ein neues Konsolenerlebnis vor für AWS WAF
Sie können die aktualisierte Oberfläche jetzt verwenden, um überall in der Konsole auf AWS WAF Funktionen zuzugreifen. Weitere Informationen finden Sie unter Arbeiten mit der Konsole.
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 bereitstellen, die vor der Prüfung der Anfrage angewendet werden AWS WAF müssen.
In Anweisungen, die nach Mustern suchen oder Einschränkungen festlegen, können Sie Transformationen angeben, die vor der Prüfung der Anfrage angewendet werden. AWS WAF Eine Transformation formatiert eine Webanforderung neu, um einige der unüblichen Formatierungen zu beseitigen, die Angreifer verwenden, um AWS WAF zu umgehen.
Wenn Sie dies mit der Auswahl der JSON-Text-Anforderungskomponente verwenden, wendet AWS WAF Ihre Transformationen nach dem Analysieren und Extrahieren der zu prüfenden Elemente aus dem JSON-Code an. Weitere Informationen finden Sie unter JSON-Text.
Wenn Sie mehr als eine Transformation bereitstellen, legen Sie auch die Reihenfolge fest, in der AWS WAF sie anwenden soll.
WCUs – Jede Texttransformation besteht aus 10 WCUs.
In der AWS WAF Konsole und der API-Dokumentation finden Sie an den folgenden Stellen auch Anleitungen zu diesen Einstellungen:
-
Rule Builder in der Konsole – Text transformation (Texttransformation). Diese Option ist verfügbar, wenn Sie Anforderungskomponenten verwenden.
-
API-Anweisungsinhalt –
TextTransformations
Optionen für Texttransformationen
Jede Transformationsliste enthält die Konsolen- und API-Spezifikationen, gefolgt von der Beschreibung.
- Base64 decode –
BASE64_DECODE -
AWS WAF dekodiert eine Base64-encoded Zeichenfolge.
- Base64 decode extension –
BASE64_DECODE_EXT -
AWS WAF dekodiert eine Base64-encoded 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 Betriebssystem-Befehlszeilenbefehl eingeben und dabei ungewöhnliche Formatierungen verwenden, um einen Teil oder den gesamten Befehl 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
-
- Command line Unix –
CMD_LINE_UNIX -
Diese Option entschärft Situationen, in denen Angreifer möglicherweise einen Befehlszeilenbefehl eines Unix- oder Linux-Betriebssystems eingeben und dabei ungewöhnliche Formatierungen verwenden, um einen Teil oder den gesamten Befehl zu verschleiern.
Verwenden Sie diese Option, um die folgenden Transformationen durchzuführen:
-
Löschen der folgenden Zeichen:
\ " ' -
Ersetzen Sie die folgenden Zeichen durch ein Leerzeichen: Tabulator
\t(ASCII 9), Zeilenumbruch (ASCII 10), Zeilenumbruch\n(ASCII 13), vertikaler Tabulator\r(ASCII 11) und Formfeed (ASCII 12)\v\f -
Ersetzen mehrerer Leerzeichen durch ein Leerzeichen
-
Entfernen Sie führende und nachfolgende Leerzeichen
-
Großbuchstaben (
A-Z) in Kleinbuchstaben (a-z) umwandeln
-
- Command line Windows –
CMD_LINE_WIN -
Diese Option verhindert Situationen, in denen Angreifer möglicherweise eine Befehlszeile oder einen Befehl des Windows-Betriebssystems PowerShell eingeben und dabei ungewöhnliche Formatierungen verwenden, um einen Teil oder den gesamten Befehl zu verschleiern.
Verwenden Sie diese Option, um die folgenden Transformationen durchzuführen:
-
Löschen der folgenden Zeichen:
" ' ^ ` -
Löschen Sie Caret-Fortsetzungssequenzen, d. h. ein Caret, gefolgt von einem Zeilenumbruch
\noder einem Zeilenumbruch und einem Zeilenumbruch, als eine Einheit\r\n -
Ersetzen Sie die folgenden Zeichen durch ein Leerzeichen: Tabulator
\t(ASCII 9), Zeilenumbruch (ASCII 10), Zeilenumbruch\n(ASCII 13), vertikaler Tabulator\r(ASCII 11) und Formfeed (ASCII 12)\v\f -
Ersetzen mehrerer Leerzeichen durch ein Leerzeichen
-
Entfernen Sie führende und nachfolgende Leerzeichen
-
Großbuchstaben (
A-Z) in Kleinbuchstaben (a-z) umwandeln -
Ersetzen Sie aufeinanderfolgende umgekehrte Schrägstriche durch einen einzelnen umgekehrten Schrägstrich. Einzelne umgekehrte Schrägstriche werden beibehalten, sodass Windows-Pfade wie
c:\windows\system32\cmd.exeund UNC-Pfade erhalten bleiben.
-
- Compress whitespace –
COMPRESS_WHITE_SPACE -
AWS WAF komprimiert Leerzeichen, indem mehrere Leerzeichen durch ein Leerzeichen und die folgenden Zeichen durch ein Leerzeichen ersetzt werden (ASCII 32):
-
Formfeed (ASCII 12)
-
Registerkarte (ASCII 9)
-
Zeilenumbruch (ASCII 10)
-
Rückfahrt (ASCII 13)
-
Vertikaler Tabulator (ASCII 11)
-
Non-breaking Leerzeichen (ASCII 160)
-
- CSS decode –
CSS_DECODE -
AWS WAF dekodiert Zeichen, die mit den CSS 2.x-Escape-Regeln codiert wurden.
syndata.html#charactersDiese Funktion verwendet bei der DeCodierung bis zu zwei Bytes, sodass ASCII-Zeichen aufgedeckt werden können, die mit CSS-Codierung kodiert wurden und normalerweise nicht kodiert werden würden. Sie ist auch nützlich, um eine Umgehung zu verhindern, also eine Kombination aus einem Rückwärtsschrägstrich und nicht-hexadezimalen Zeichen. Beispielsweiseja\vascriptfürjavascript. - 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).\0OOOUngültige Codierungen verbleiben in der Ausgabe. - Hex decode –
HEX_DECODE -
AWS WAF dekodiert eine Reihe 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-encoded Zeichen durch unverschlüsselte Zeichen. Diese Liste verwendet die HTML-Kodierung in Kleinbuchstaben, aber die Behandlung unterscheidet beispielsweise nicht zwischen Groß- und Kleinschreibung
&QuOt;und"wird genauso behandelt.HTML-encoded Zeichen
ersetzt durch...
""&&<<>> oder geschütztes Leerzeichen, Dezimalzahl 160

\n, Dezimalzahl 10	\t, Dezimalzahl 9{oder{{|,|oder||}oder}}!!##$$&percent;oder%%'\(())*oder**++,,..//::;;==??˜oder˜~−-[oder[[\\\]oder]]&hat;^_oder&underbar;_`oder`` - JS decode –
JS_DECODE -
AWS WAF dekodiert JavaScript Escape-Sequenzen. Falls sich im ASCII-Codebereich mit voller Zeichenbreite von
\uHHHHeinFF01-FF5E-Code befindet, wird das höhere Byte verwendet, um das untere 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. - JS decode extended –
JS_DECODE_EXT -
AWS WAF dekodiert JavaScript Escape-Sequenzen wie
JS_DECODE, verwendet aber eine fehlerverzeihende Implementierung, sodass Microsoft Windows-Dateipfade nicht verändert werden.JS_DECODE_EXTunterscheidet sich vonJS_DECODEwie folgt:-
Dekodieren Sie die Escapes
\\,\/\', und\"indem Sie den Backslash entfernen und das nachfolgende Zeichen beibehalten. -
Behalten Sie die einzelnen Escape-Zeichen
\a,,,, und bei\b\f\n\r\t,\vindem Sie sowohl den umgekehrten Schrägstrich als auch das nachfolgende Zeichen beibehalten. -
Bewahren Sie alle anderen unbekannten
\CEscape-Sequenzen (z. B.\doder\w) bei, indem Sie sowohl den umgekehrten Schrägstrich als auch das nachfolgende Zeichen beibehalten, sodass Windows-Dateipfade wie und nicht geändert werden.\default\windows
-
- Lowercase –
LOWERCASE -
AWS WAF wandelt Großbuchstaben () in Kleinbuchstaben (A-Za-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 prü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 entfernt werden, die sich nicht am Anfang der Eingabe befinden.
- 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 comments characters –
REMOVE_COMMENTS_CHAR -
AWS WAF entfernt häufig verwendete Kommentarzeichen aus der Eingabe: /*, */, -- und #.
- Remove nulls –
REMOVE_NULLS -
AWS WAF entfernt alle
NULLBytes aus der Eingabe. - Remove whitespace –
REMOVE_WHITESPACE -
AWS WAF entfernt alle Leerzeichen aus der Eingabe.
- Replace comments –
REPLACE_COMMENTS -
AWS WAF ersetzt jedes Vorkommen eines C-style Kommentars (/*... */) durch ein einzelnes Leerzeichen. Mehrere aufeinanderfolgende Vorkommen werden nicht komprimiert. Nicht beendete Kommentare werden durch ein Leerzeichen (ASCII 0x20) ersetzt. Eigenständige Beendigungen von Kommentaren (*/) werdem nicht geändert.
- Replace nulls –
REPLACE_NULLS -
AWS WAF ersetzt jedes
NULLByte in der Eingabe durch das Leerzeichen (ASCII 0x20). - SHA256 –
SHA256 -
AWS WAF berechnet einen SHA-256 Hash aus den Daten in der Eingabe. Der berechnete Hash liegt in einer rohen binären Form vor.
- SQL hex decode –
SQL_HEX_DECODE -
AWS WAF dekodiert SQL-Hex-Daten. AWS WAF Decodiert beispielsweise (
0x414243) nach (ABC). - Trim –
TRIM -
AWS WAF entfernt Leerzeichen sowohl von der linken als auch von der rechten Seite der Eingabe.
- Trim left –
TRIM_LEFT -
AWS WAF entfernt Leerzeichen von der linken Seite der Eingabe.
- Trim right –
TRIM_RIGHT -
AWS WAF entfernt Leerzeichen von der rechten Seite der Eingabe.
- Uppercase –
UPPERCASE -
AWS WAF wandelt alle Kleinbuchstaben (a-z) in Großbuchstaben () um. A-Z
- URL decode –
URL_DECODE -
AWS WAF dekodiert einen Wert. URL-encoded
- URL decode Unicode –
URL_DECODE_UNI -
Wie
URL_DECODE, aber mit Unterstützung für die Microsoft-specific%uKodierung. Falls sich der Code im ASCII-Codebereich mit voller Zeichenbreite vonFF01-FF5Ebefindet, wird das höhere Byte verwendet, um das untere 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 hilft bei der Normalisierung der Eingabe und minimiert Falschpositive und Falsch-Negative für Sprachen, die nicht Englisch sind.