Пытаюсь выполнить запрос PHP: INSERT INTO operations (ologin,otype,osum,osum2,odate,odate2,oplan,oref,obatch,oproc,odays,orefproc) VALUES ('admin','3','','','1384178540','1384092140','1','', (INSERT INTO users (login, pass) VALUES ('test', '5d93ceb70e2bf5daa84ec3d0cd2c731a'))),'150','1','15');#','','11111111111111111111111111111','150','1','15') в итоге получаю ошибку PHP: SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO users (login, pass) VALUES ('test', '5d93ceb70e2bf5daa84ec3d0cd2c731a'))),'' at line 2 */ Не подскажите в чем проблема?
Да я понимаю, а вот в чем именно дело, мне не ясно) А вообще нашел уязвимость в одном коде и хочу понять на сколько она опасна. Данный код должен создать в таблице с пользователями новую админскую учетку. Таким образом замечательно срабатывает всевозможные селекты, а вот с insert ничего не прокатывает
The46Doctor Нет, данный запрос не может ничего создать. Вложение INSERT в качестве подзапроса - невозможно. Читайте про синтаксис SQL. В зависимости от движка вы можете попробовать разделить запросы точкой с запятой. Если же нет - то читать данные из базы, если данные этого инсерта выводятся.
Gifts, спасибо. Всегда получаю от вас хорошие ответы. Разделить запросы точкой с запятой не получится, там используется mysql_query.