![]() |
Всем привет! Оставив безуспешные попытки (спасибо администрации за молчание) восстановить свой аккаунт, зарегистрировался снова. Вот, теперь приходится писать в песочнице ) Но вопрос очень актуальный, так что прошу помощи. Есть SQLi, пытался раскрутить классически:
id=1 LIMIT 1 - пустая страница id=1 LIMIT 2 - пустая страница id=1 LIMIT 3 - пустая страница id=1 LIMIT 4 - пустая страница id=1 LIMIT 5 - пустая страница id=1 LIMIT 6 - пустая страница id=1 LIMIT 7 - пустая страница id=1 LIMIT 8 - отображается одна строка с данными id=1 LIMIT 9 - две строки с данными id=1 LIMIT 10 - три строки с данными и т.д. Затем я подобрал число столбцов, их оказалось 7. 1 LIMIT 1 UNION SELECT 1,2,3,4,5,6,7 - пустая страница 1 LIMIT 2 UNION SELECT 1,2,3,4,5,6,7 - одна строка с данными 1 LIMIT 3 UNION SELECT 1,2,3,4,5,6,7 - две строки с данными и т.д. Вывести данные из других таблиц не получается! И потом, что меня вообще убило: 1 LIMIT 0,10 - три строки с данными 1 LIMIT 1,10 - четыре строки с данными 1 LIMIT 2,10 - пустая страница |
а зачем LIMIT? запрос как выглядит? скорее всего, у вас там два запроса, которые выполняются одновременно. error-based не пойдет?
|
Вывод ошибок отключен. Я тоже не знаю, какого вида запрос, вот и мучаюсь.
|
Цитата:
|
Конечно, слепой скуль крутить я могу, задача как раз и состоит в том, чтобы он прозрел ). Спасибо за подсказку, сейчас попробую
|
SELECT `id`, `parent_id`, `href`, `params`, `anchor`, `date_created`, `subtitle` FROM `vw_menu_city_list` WHERE `language_id` = 1
Вот такой классический запрос, ничего интересного я в нем не нашел. Кроме столбцов, которые выводятся в таблице есть еще и другие, в частности `language_id`. С чем связано такое странное поведение? |
Цитата:
попробуйте id = 1 DIV 0 UNION SELECT 1,2,3,4,5,6,7-- f |
Цитата:
|
там был еще вопрос
|
Цитата:
|
Цитата:
Код:
if (language_id = 1): echo "................"; |
скинь ты уже скуль толпой поковыряем, ну или в пм
|
Цитата:
|
b3, скунул в личку
|
Только как слепая пока что крутиться
|
Ну а почему мои SQL-конструкции (см. пост #1) таким образом работают? Есть хотя бы какие-то предположения?
|
Цитата:
|
|
Цитата:
|
Цитата:
|
Где-то минуты за 4 управился. Разве долго? )
|
Тот запрос я видел но мне кажется у меня он другой, раз кол-во колонок отличается
|
Вот и покажи, какой другой, интересно же )
|
Нашел решение проблемы: составил дублирующий запрос, а в дубле, в ссылочное поле врезал подзапрос из другой таблицы. Все работает ) Странное поведение (см. пост #1) объясняется характером обработки формируемой ч/з SQL-запрос таблицы (обратил внимание на нелинейность данных при группировке по разным полям вывода). Когда в школе читали лекцию про подзапросы, я пил пиво с друзьями, поэтому не уловил суть. Хотите прикол?
Код:
SELECT 1,(SELECT 2),3 UNION SELECT 4,5,6А если так: Код:
SELECT 1,2,3 UNION SELECT 4,(SElECT 5),61,2,3 4,5,6 Парни, кто сдал зачет, подскажите, плиз, почему так? ) |
Очень интересная находка.
С нетерпением жду ответа экспертов =) |
Цитата:
|
Я чтото пропустил или вы добились вывода?
|
b3, да, добился
|
Strilo4ka, тестил здесь: https://www.phpmyadmin.net/try/
|
Цитата:
|
b3, что скинуть? итак вроде все понятно написал:
Цитата:
|
тоже тестанул 5.5.23 версия и тоже не отличается. Как и у Strilo4ka
|
Парни, вы, конечно, правы, я сам только что потестил и убедился. НО! Если версия 5.5.40-0+wheezy1, получается так:
Код:
SELECT 1,2,3 UNION SELECT 4,5,61 2 3http://demo.phpmyadmin.net/master-config/themes/dot.gif 4 5 6 Код:
SELECT 1,(SELECT 2),3 UNION SELECT 4,5,61 2 3 Т.е. UNION во 2-м запросе не работает! |
| Время: 19:49 |