Я изучаю SQLInjection на некоторых обучающих веб-страницах (поэтому я не знаю, что такое бэкэнд).Я пробую следующую инъекцию, чтобы получить тип de DB.
(1) http://url/?departamento=1 union select user()
Таким образом, если DB является MySQL, я должен получить некоторые результаты.Однако я не вижу никаких результатов.Если я изменяю инъекцию на это новое предложение, данные возвращаются правильно, поэтому БД - MySQL (даже я вижу имя БД с этой новой инъекцией):
(2) http://url/?departamento=1 union select 1,user()
Тем не менее, если я изменюсь сноваВнедрение в один из этих результатов приводит к изменению.
(3) http://url/?departamento=1 union select 1,2,user() (I don't see any data)
(4) http://url/?departamento=1 union select user(),2 (Here I don't see the DB name)
Я не понимаю, почему я должен добавить (во втором операторе выбора) больше столбцов, чтобы увидеть данные.Почему это происходит?
Спасибо!