fehlerhafte Fluchttechnik
Die Methode beinhaltet das Ersetzen von einzelnen Zitaten in Benutzereingaben durch doppelte einzelne Zitate und das Einschließen der gesamten Zeichenfolge in einzelnen Zitaten:
sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'"
Das Prinzip dieser Technik ist, dass alle vom Benutzer eingegebenen einzelnen Zitate effektiv neutralisiert werden, um zu verhindern, dass die Zeichenfolge abgeleitet wird. Daher wird jeder andere Charakter, wie ein Semikolon oder ein Prozentzeichen, Teil der Zeichenfolge und wird nicht als Befehl ausgeführt.
Injektion Verwundbarkeit ]
Diese Technik kann jedoch keine Fälle verarbeiten, in denen die Benutzereingabe selbst doppelte einzelne Zitate enthalten kann. In diesem Fall endet die Zeichenfolge und der Rest der Eingabe kann als SQL -Befehle ausgeführt werden.
Beispiel input
Um dies zu veranschaulichen, betrachten Sie die folgende Benutzereingabe:
'SensitiveData' HAVING AMOUNT>2000 OR ''=''
Nach der Ausführung wird der Code:
SELECT * FROM ACCOUNT WHERE NAME='SensitiveData' HAVING AMOUNT>2000 OR ''=''
Weitere Überlegungen
Es ist wichtig zu beachten, dass es in dieser Fluchttechnik andere Schwachstellen gibt, einschließlich:
Kann nicht gegen alle Arten von SQL -Injektionsangriffen verteidigen, wie z. B. Angriffe mit Kommentaren oder anderen Angaben -Terminatoren.
verlassen
Verwenden Sie parametrisierte SQL-Abfrage oder JDBC-Vorbereitungsanweisungen.Nur erwartete Eingabewerte und Formate (Whitelisten) sind zulässig.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3