Показать сообщение отдельно

  #2  
Старый 10.03.2015, 21:34
scr1m77
Новичок
Регистрация: 29.12.2010
Сообщений: 1
С нами: 8089526

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

Есть blind sql injection, как правильно узнать длинну получаймой колонки. Использую такой запрос:

Код:
SELECT IF (SUBSTRING(LENGTH(login),{x},1) = {y}, SLEEP(5), 0) FROM users LIMIT 1
где {y} перебираймые значения "0,1,2,3,4,5,6,7,8,9"

Проблема в том, что substring возвращает "0", когда положение {x} вышло за длинну записи. В итоге получается, что при попытке получить второе значение (x=2), а истинная длинна = 5, то получаем, что длинна колонки = 50.

Собственно задача - правильно узнать длинну содержимого колонки, без лишних запросов.

upd. Решено
 
Ответить с цитированием