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

  #10  
Старый 20.05.2020, 10:10
FireRidlle
Новичок
Регистрация: 07.07.2009
Сообщений: 2
Провел на форуме:
16896

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

Цитата:
Сообщение от crlf  

Вполне возможно, что имеет место серия уязвимых к внедрению запросов. И тот который считался, идёт раньше того, в котором совершается выборка одного поля, поэтому, как указал ранее, нужно получить запрос в котором UNION успешно отрабатывает и отталкиваться от него. Но и это, не гарантирует успешного видимого вывода, но понять происходящее лучше, должно помочь.
спасибо. таки да, есть второй запрос для пагинации

Код:
select count(*) as aggregate from `users` where `referrer_id` = ? and ( `email` like ? or `ip` like ? or concat_ws("", last_name, "", name, "midlle_name") like "%inject here%") and `users`.`deleted_at` is null order by  `id` desc limit 20 offset 0
получается если он возвращает 0, то второй запрос (который писал в пред. посте) не выполняется. это вполне обьясняет вот это поведение

Цитата:
Сообщение от FireRidlle  

?search=com // возвращает строки с `com` ?search=qwerty // нет строк с таким вхождением com") union select 1 -- - // ошибка qwerty") union select 1 -- - // ошиби нет, ничего не возвращает
есть варианты как можно обойти ситауцию когда иньекция попадает в два запроса с раным количеством колонок и все же воспользоватся union based

или мб есть способ как в sql из колонок сделать строки

Код:
") or id in(select ascii(substring(pass,1,1)),ascii(substring(pass,2,1)),ascii(substring(pass,3,1)) from users where id=xxxx)
 
Ответить с цитированием