
20.05.2020, 10:10
|
|
Новичок
Регистрация: 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)
|
|
|