Arbeiten mit SQL Injektionsübereinstimmungsbedingungen - 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.

Arbeiten mit SQL Injektionsübereinstimmungsbedingungen

Warnung

AWS WAF Der klassische Support endet am 30. September 2025.

Anmerkung

Dies ist die AWS WAF Classic-Dokumentation. Sie sollten diese Version nur verwenden, wenn Sie AWS WAF Ressourcen wie Regeln und Websites ACLs AWS WAF vor November 2019 erstellt und diese noch nicht auf die neueste Version migriert haben. Informationen zur Migration Ihrer Website finden Sie ACLs unterMigrieren Sie Ihre AWS WAF Classic-Ressourcen zu AWS WAF.

Die neueste Version von finden AWS WAF Sie unterAWS WAF.

Angreifer fügen manchmal bösartigen SQL Code in Webanfragen ein, um Daten aus Ihrer Datenbank zu extrahieren. Um Webanfragen, die bösartigen SQL Code zu enthalten scheinen, zuzulassen oder zu blockieren, erstellen Sie eine oder mehrere Bedingungen für die SQL Einschleusung. Eine SQL Einschleusungsbedingung identifiziert den Teil der Webanfragen, z. B. den URI Pfad oder die Abfragezeichenfolge, den AWS WAF Classic überprüfen soll. Später im Prozess, wenn Sie ein Web erstellen, geben Sie anACL, ob Anfragen, die bösartigen SQL Code zu enthalten scheinen, zugelassen oder blockiert werden sollen.

Bedingungen für die SQL Injection-Übereinstimmung werden erstellt

Wenn Sie Bedingungen für die Zuweisung von SQL Injektionen erstellen, geben Sie Filter an, die den Teil der Webanfragen angeben, den AWS WAF Classic auf bösartigen SQL Code untersuchen soll, z. B. die Abfragezeichenfolge URI oder. Sie können einer SQL Einschleusungsbedingung mehr als einen Filter hinzufügen, oder Sie können für jeden Filter eine separate Bedingung erstellen. So wirkt sich jede Konfiguration auf das Verhalten von AWS WAF Classic aus:

  • Mehr als ein Filter pro SQL Injection-Übereinstimmungsbedingung (empfohlen) — Wenn Sie einer Regel eine SQL Injection-Abgleichsbedingung mit mehreren Filtern hinzufügen und die Regel einem Web hinzufügenACL, muss eine Webanforderung nur einem der Filter in der SQL Injection-Abgleichsbedingung entsprechen, damit AWS WAF Classic die Anfrage basierend auf dieser Bedingung zulässt oder blockiert.

    Nehmen wir beispielsweise an, Sie erstellen eine Zuordnungsbedingung für die SQL Injektion und die Bedingung enthält zwei Filter. Ein Filter weist AWS WAF Classic an, den URI auf bösartigen SQL Code zu untersuchen, und der andere weist AWS WAF Classic an, die Abfragezeichenfolge zu überprüfen. AWS WAF Classic lässt Anfragen zu oder blockiert sie, wenn sie bösartigen SQL Code entweder in der URI oder in der Abfragezeichenfolge zu enthalten scheinen.

  • Ein Filter pro SQL Injection-Übereinstimmungsbedingung — Wenn Sie die separaten SQL Injection-Abgleichsbedingungen zu einer Regel hinzufügen und die Regel einem Web hinzufügenACL, müssen Webanfragen alle Bedingungen erfüllen, damit AWS WAF Classic Anfragen basierend auf den Bedingungen zulassen oder blockieren kann.

    Angenommen Sie erstellen zwei Bedingungen, die jeweils einen der beiden Filter im vorherigen Beispiel enthalten. Wenn Sie beide Bedingungen zu derselben Regel hinzufügen und die Regel einem Web hinzufügenACL, erlaubt oder blockiert AWS WAF Classic Anfragen nur, wenn URI sowohl die als auch die Abfragezeichenfolge bösartigen SQL Code zu enthalten scheinen.

Anmerkung

Wenn Sie einer Regel eine Bedingung für die Übereinstimmung mit der SQL Injektion hinzufügen, können Sie AWS WAF Classic auch so konfigurieren, dass Webanfragen zugelassen oder blockiert werden, die keinen bösartigen SQL Code zu enthalten scheinen.

Um eine Zuweisungsbedingung für die SQL Injektion zu erstellen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich SQLInjection aus.

  3. Wählen Sie Create condition.

  4. Geben Sie die entsprechenden Filtereinstellungen an. Weitere Informationen finden Sie unter Werte, die Sie angeben, wenn Sie Zuordnungsbedingungen für die SQL Injektion erstellen oder bearbeiten.

  5. Wählen Sie Add another filter.

  6. Wenn Sie einen anderen Filter hinzufügen möchten, wiederholen Sie die Schritte 4 und 5.

  7. Wählen Sie nach dem Hinzufügen der Filter Erstellen aus.

Werte, die Sie angeben, wenn Sie Zuordnungsbedingungen für die SQL Injektion erstellen oder bearbeiten

Wenn Sie eine Zuordnungsbedingung für die SQL Injektion erstellen oder aktualisieren, geben Sie die folgenden Werte an:

Name

Der Name der Zuordnungsbedingung für die SQL Injektion.

Der Name darf nur alphanumerische Zeichen (A-Z, a-z, 0-9) oder die folgenden Sonderzeichen enthalten: _-!"#`+*},./ . Sie können den Namen einer Bedingung nicht mehr ändern, nachdem Sie sie erstellt haben.

Teil der Anforderung, nach dem gefiltert werden soll

Wählen Sie den Teil jeder Webanfrage aus, den AWS WAF Classic auf bösartigen SQL Code untersuchen soll:

Header

Ein angegebener Anforderungs-Header, wie z. B. der User-Agent- oder Referer-Header. Wenn Sie Header auswählen, geben Sie den Namen des Headers im Feld Header an.

HTTPMethode

Die HTTP Methode, die die Art des Vorgangs angibt, um den die Anfrage den Ursprung bittet. CloudFront unterstützt die folgenden Methoden: DELETEGET,HEAD,OPTIONS,PATCH,POST, undPUT.

Abfragezeichenfolge

Der Teil von aURL, der nach einem ? Zeichen erscheint, falls vorhanden.

Anmerkung

Für SQL Injection-Übereinstimmungsbedingungen empfehlen wir, dass Sie für Teil der Anforderung, nach dem gefiltert werden soll, Alle Abfrageparameter (nur Werte) anstelle von Abfragezeichenfolge wählen.

URI

Der URI Pfad der Anfrage, der die Ressource identifiziert, /images/daily-ad.jpg z. B. Dies beinhaltet nicht die Abfragezeichenfolge oder die Fragmentkomponenten vonURI. Weitere Informationen finden Sie unter Uniform Resource Identifier (URI): Generische Syntax.

Sofern keine Transformation angegeben ist, URI ist a nicht normalisiert und wird genauso geprüft, wie es vom Client als Teil der Anfrage AWS empfangen wird. Eine Transformation formatiert das URI wie angegeben neu.

Fließtext

Der Teil einer Anforderung, der zusätzliche Daten enthält, die Sie als Hauptteil der HTTP Anfrage an Ihren Webserver senden möchten, z. B. Daten aus einem Formular.

Anmerkung

Wenn Sie für den Wert Teil der Anforderung, nach dem gefiltert werden soll, Body wählen, untersucht AWS WAF Classic nur die ersten 8192 Byte (8 KB). Um Anfragen zuzulassen oder zu blockieren, deren Hauptteil länger als 8192 Byte ist, können Sie eine Größenbeschränkungsbedingung erstellen. (AWS WAF Classic ermittelt die Länge des Hauptteils aus den Anforderungsheadern.) Weitere Informationen finden Sie unter Arbeiten mit Größenbeschränkungsbedingungen.

Einzelner Abfrageparameter (ausschließlich Wert)

Jeder Parameter, den Sie als Teil der Abfragezeichenfolge definiert haben. Wenn URL es sich beispielsweise um „www.xyz.com? UserName =abc& SalesRegion =seattle“ handelt, können Sie entweder dem Parameter oder einen Filter hinzufügen. UserNameSalesRegion

Wenn Sie Einzelner Abfrageparamter (ausschließlich Wert) auswählen, legen Sie auch einen Abfrageparameternamen fest. Dies ist der Parameter in der Abfragezeichenfolge, den Sie überprüfen werden, z. B. oder. UserNameSalesRegion Die maximale Länge für den Abfrageparameternamen beträgt 30 Zeichen. Der Abfrageparametername berücksichtigt keine Groß- und Kleinschreibung. Wenn Sie beispielsweise den Namen des Abfrageparameters angeben UserName, entspricht dieser Wert allen Varianten von UserName, z. B. username und sERNameU.

Alle Abfrageparameter (ausschließlich Werte)

Ähnlich wie Einzelner Abfrageparameter (nur Wert), untersucht AWS WAF Classic jedoch nicht den Wert eines einzelnen Parameters, sondern den Wert aller Parameter innerhalb der Abfragezeichenfolge auf möglichen bösartigen SQL Code. Wenn beispielsweise „www.xyz.com? UserName =abc& SalesRegion =seattle“ URL lautet und Sie Alle Abfrageparameter (nur Werte) auswählen, löst AWS WAF Classic eine Übereinstimmung aus, wenn der Wert von einem oder mehreren möglichen bösartigen Code enthält. UserNameSalesRegionSQL

Header

Wenn Sie Header für Teil der Anfrage, nach der gefiltert werden soll, ausgewählt haben, wählen Sie einen Header aus der Liste der allgemeinen Header aus, oder geben Sie den Namen eines Headers ein, den Classic auf bösartigen Code untersuchen soll. AWS WAF SQL

Transformation

Eine Transformation formatiert eine Webanforderung neu, bevor AWS WAF Classic die Anfrage überprüft. Dadurch werden einige der ungewöhnlichen Formatierungen vermieden, die Angreifer in Webanfragen verwenden, um Classic zu umgehen AWS WAF .

Sie können nur einen einzigen Texttransformationstyp angeben.

Transformationen können die folgenden Vorgänge ausführen:

None

AWS WAF Classic führt keine Texttransformationen an der Webanforderung durch, bevor überprüft wird, ob die Zeichenfolge in Value übereinstimmt.

In Kleinbuchstaben konvertieren

AWS WAF Classic konvertiert Großbuchstaben (A-Z) in Kleinbuchstaben (a-z).

HTMLdekodieren

AWS WAF Classic ersetzt HTML -kodierte Zeichen durch unkodierte Zeichen:

  • Ersetzt " durch &

  • Ersetzt   durch ein geschütztes Leerzeichen

  • Ersetzt &lt; durch <

  • Ersetzt &gt; durch >

  • Ersetzt Zeichen im Hexadezimalformat &#xhhhh; mit dem entsprechenden Zeichen

  • Ersetzt Zeichen im Dezimalformat &#nnnn; mit dem entsprechenden Zeichen

Leerzeichen normalisieren

AWS WAF Classic ersetzt die folgenden Zeichen durch ein Leerzeichen (Dezimalzahl 32):

  • \f, Zeilenvorschubzeichen, Dezimalzahl 12

  • \t, Tabulator, Dezimalzahl 9

  • \n, Zeilenumbruch, Dezimalzahl 10

  • \r, Wagenrücklauf, Dezimalzahl 13

  • \v, vertikaler Tabulator, Dezimalzahl 11

  • geschütztes Leerzeichen, Dezimalzahl 160

Diese Option ersetzt mehrere aufeinanderfolgende Leerzeichen durch 1 Leerzeichen.

Vereinfachen der Befehlszeile

Verwenden Sie diese Option für Anforderungen mit Befehlszeilen-Befehlen des Betriebssystems, um folgende Transformationen auszufü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

  • Konvertieren von Groß- (A-Z) in Kleinbuchstaben (a-z)

URLdekodieren

Dekodieren Sie eine URL -kodierte Anfrage.

Hinzufügen und Löschen von Filtern in einer SQL Injection-Übereinstimmungsbedingung

Sie können Filter in einer SQL Injection-Abgleichsbedingung hinzufügen oder löschen. Um einen Filter zu ändern, fügen Sie einen neuen hinzu und löschen den alten.

Um Filter in einer SQL Injektionsbedingung hinzuzufügen oder zu löschen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich SQLInjection aus.

  3. Wählen Sie die Bedingung aus, die Sie Filtern hinzufügen oder daraus löschen möchten.

  4. Um Filter hinzuzufügen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie Add filter.

    2. Geben Sie die entsprechenden Filtereinstellungen an. Weitere Informationen finden Sie unter Werte, die Sie angeben, wenn Sie Zuordnungsbedingungen für die SQL Injektion erstellen oder bearbeiten.

    3. Wählen Sie Hinzufügen aus.

  5. Um Filter zu löschen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie den Filter aus, den Sie löschen möchten.

    2. Wählen Sie Delete filter.

Die Bedingungen für die SQL Injektion werden gelöscht

Wenn Sie eine SQL Einspritzbedingung löschen möchten, müssen Sie zuerst alle Filter in der Bedingung löschen und die Bedingung aus allen Regeln entfernen, die sie verwenden, wie im folgenden Verfahren beschrieben.

Um eine Bedingung für die Übereinstimmung mit der SQL Injektion zu löschen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  2. Wählen Sie im Navigationsbereich SQLInjection aus.

  3. Wählen Sie im Bereich mit den Bedingungen für die SQL Injektionsübereinstimmung die Bedingung für die SQL Injektionsübereinstimmung aus, die Sie löschen möchten.

  4. Wählen Sie im rechten Bereich die Registerkarte Associated rules aus.

    Wenn die Liste der Regeln, die diese Zuordnungsbedingung für die SQL Injektion verwenden, leer ist, fahren Sie mit Schritt 6 fort. Wenn die Liste Regeln enthält, notieren Sie sich diese und fahren Sie mit Schritt 5 fort.

  5. Gehen Sie wie folgt vor, um die SQL Einspritzbedingung aus den Regeln zu entfernen, die sie verwenden:

    1. Wählen Sie im Navigationsbereich Regeln aus.

    2. Wählen Sie den Namen einer Regel, die die SQL Injektionsvergleichsbedingung verwendet, die Sie löschen möchten.

    3. Wählen Sie im rechten Bereich die Bedingung für den SQL Injektionsabgleich aus, die Sie aus der Regel entfernen möchten, und wählen Sie Ausgewählte Bedingung entfernen aus.

    4. Wiederholen Sie die Schritte b und c für alle übrigen Regeln, die die zu löschende SQL Injektionsbedingung verwenden.

    5. Wählen Sie im Navigationsbereich SQLInjection aus.

    6. Wählen Sie im Bereich mit den Bedingungen für die SQL Injektionsübereinstimmung die Bedingung für die SQL Injektionsübereinstimmung aus, die Sie löschen möchten.

  6. Wählen Sie Löschen aus, um diese Bedingung zu löschen.