Die Injektionsverfahren sind:SQL-Injection-Methode
SELECT UserId, Name, Password FROM Users WHERE UserId = 105 or 1=1;
Aber meine Frage, wie die Injektion Abfrage in der SQL zu arbeiten?
Die Injektionsverfahren sind:SQL-Injection-Methode
SELECT UserId, Name, Password FROM Users WHERE UserId = 105 or 1=1;
Aber meine Frage, wie die Injektion Abfrage in der SQL zu arbeiten?
sein, wenn Sie Ihre Abfrage als Zeichenfolge in Ihrem Code haben, so etwas wie diese
Query = "SELECT UserId, Name, Password FROM Users WHERE UserId = '" + sUserID + "'"
So passieren Sie sUserID = "ABC‘ OR 1 = 1;"
dies wird wie
SELECT UserId, Name, Password FROM Users WHERE UserId = 'ABC' OR 1=1
danke das wäre hilfreich für mich ..... –
@IsmayilS gerne zu hören, dass ich geholfen habe :) bitte markieren sie als antwort, wenn es so war – asmgx
Da die Bedingung übersetzt werden 1=1
ist immer true
, es am Ende einer WHERE
Aussage Zugabe macht es irrelevant, und immer true
, als ob die WHERE
Anweisung an nicht vorhanden alle. Daher wird die Abfrage immer ausgeführt, unabhängig von anderen Bedingungen, die der WHERE
-Anweisung hinzugefügt wurden.
Im Beispiel Sie zur Verfügung gestellt, wenn Sie Ihren Benutzern erlauben, ihre eigenen aufzuschreiben userID
, sie 105 or 1=1
in den Eingabefeldern oder in einer URL-Adresse der Website, und da or 1=1
macht UserId=105
nutzlos, und die Abfrage auswählen, wird immer schreiben die Daten, daher die SQL-Injektion.
Beim Hinzufügen von 'oder 1 = 1' wird die Anweisung' WHERE' irrelevant und gibt immer true zurück, und daher wird die Abfrage immer ausgeführt. –
Mögliches Duplikat von [Gefunden 'ODER 1 = 1/\ * sql Injektion in meiner Newsletter-Datenbank] (https://stackoverflow.com/questions/13867266/found-or-1-1-sql-injection-in-my- newsletter-database) – karthik006