Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Union после Limit? (https://forum.antichat.xyz/showthread.php?t=56446)

presidentua 24.12.2007 03:12

Union после Limit?
 
Часто можна встретить такое утверждение, что невозможно использовать UNION после LIMIT.

Но я почему то этому не хотел верить и на локалхосте создал тестовый скрипт со следующим запросом:
PHP код:

SELECT FROM news WHERE id=1 LIMIT 1,1 UNION SELECT 1,2,3,4/* 

и оказалось что все нормально роботает!!!
и это на:
MySQL 4.1.13a-nt на localhost как root@localhost
Даже можна использовать второй ЛИМИТ в конце. Тогда первый отвечает за первый запрос, а второй отвечает за общий (конечный) результат

Но (как всегда :) ), есть бага на нескольких серверах после LIMIT и через МуСкул инекцию пытаюсь подобрать количество столбцов, но не получается постоянно вижу пустую страницу. Хотя я уверен что никакой фильтрации нет.

Может это не во всех Мускулах работает? Может есть определенные условия? Посоветуйте!


ПС: может кому-то интересен будет скрипт для подбора количества столбцов по ГЕТ. http://slil.ru/25277209
Скажете зачем создавать новое. А потому что существующие (те которые мне попадались) меня не устраивают по таким причинам - нельзя залить на сервер, и то что хотят вместо меня думать :).
пример параметров:
http://img187.imagevenue.com/aAfkjfp...on_122_9lo.jpg
пример роботы в тестовом режиме:
http://img7.imagevenue.com/aAfkjfp01..._122_929lo.jpg
в робочем режиме выводит запрос и результат от севера. А потом через поиск ищу нужную страницу.

ZAMUT 24.12.2007 03:26

Извини, но эта тема много раз поднималась, и не раз говорилось, что инъект после лиминта возможен

Joker-jar 24.12.2007 03:43

Запросы на сервере могут, к примеру, оканчиваться точкой с запятой

Scipio 24.12.2007 22:40

2presidentua
попробуй:
SELECT * FROM news WHERE id=1 order by 1 LIMIT 1,1 UNION SELECT 1,2,3,4

будет ошибка неверного использования union и order by в этом вся и фигня, если в запросе используется order by, то инъекция после limit невозможна, если order by нет, то возможна инъекция, на практике чаще всего встречается первый вариант (с order by)

вобщем делай выводы

presidentua 25.12.2007 00:19

Спасибо всем, и особенно Scipio.
через другую уязвимость залил шел и оказалось что действительно используется ORDER

буду знать :)


Время: 00:28