een vriend van me gebruikt het volgende stukje code op een loginpagina, wat volgens mij nogal kwetsbaar is als je weet dat $username en $password zonder enige validatie uit een html-form komen:
als ik in het form als
user x' OR 1=1 -- x
en password leeg
of
user x' or 1=1 or username='y
en password x' or 1=1 or password='y
invul zou dmv SQL-insertion de authenticatie moeten plaatsvinden (gesteld dat er users in die tabel staan nat.) leek mij.
gek genoeg lijkt het eea totaal geen invloed te hebben. zit ik nu verkeerd te denken of heeft php op een of andere manier tegenwoordig een beveiliging in de mySQL ondersteuning gebouwd?
PHP:
1
2
3
4
5
6
| $db_query = mysql_query("SELECT rechten FROM admins WHERE username='$username' AND password='$password'"); list($rechten) = mysql_fetch_row($db_query); if ($rechten != '') { session_register('username'); session_register('password'); |
als ik in het form als
user x' OR 1=1 -- x
en password leeg
of
user x' or 1=1 or username='y
en password x' or 1=1 or password='y
invul zou dmv SQL-insertion de authenticatie moeten plaatsvinden (gesteld dat er users in die tabel staan nat.) leek mij.
gek genoeg lijkt het eea totaal geen invloed te hebben. zit ik nu verkeerd te denken of heeft php op een of andere manier tegenwoordig een beveiliging in de mySQL ondersteuning gebouwd?