Внедрение базы данных SQL Server
У меня есть простое веб-приложение в asp с базой данных SQL Server. На странице входа есть точка ввода, и я могу обойти вход, используя обычное "ИЛИ 1=1". Теперь я смог перечислить столбцы в базе данных, используя операторы GROUP BY и HAVING. Я смог перечислить информацию об ошибке, выданной мне.
` ' or '1' = '1' GROUP BY tblCustomers.cust_id, tblCustomers.cust_name, tblCustomers.cust_password, tblCustomers.cust_account
HAVING 1=1 -- `
Я нахожусь в стадии обучения, и я узнал, что cust_id
, cust_name
, cust_password
, cust_account
столбцы и tblCustomers
это имя таблицы.
Я также могу использовать операторы AND и функцию convert для перечисления некоторой информации. Команда, которую я использовал ' or '1' = '1' and 1 =convert(int,@@version)--
и снова я могу получить информацию об ошибках.
Теперь, как я могу сбросить записи в базе данных, чтобы знать хотя бы имя клиента и пароль? Я пробовал составлять запросы, разделенные точкой с запятой, но после выполнения первого запроса, т. Е. 'ИЛИ 1=1, я просто захожу в систему и не вижу никаких выходных данных, поскольку у них нет другого параметра, я не могу вывести его где-либо еще на странице (нет параметров и их параметров). просто пустая страница после того, как я войду). UNION SELECT не работает, так как я не могу угадать первый оператор SELECT и его выходы. Любые функции, которые могут помочь мне сбросить имена клиентов и пароль?
Я действительно ценю любую помощь с этим. Благодарю.
1 ответ
Сделайте первый запрос, запрещающий вход в систему. т.е. вместо "или 1 = 1" пишите "и 1 < 1", тогда следующий оператор. Если я правильно понимаю, где вы можете ввести, логин не удастся, и вы получите свой дамп (надеюсь, но зависит от портала, с которым вы возитесь). РЕДАКТИРОВАТЬ: Кстати, почему вы вводите правильный комбо user/pwd, если вы хотите, чтобы запрос не удался? + вы можете разобраться в запросе на вход в систему, он должен быть очень простым (имя пользователя и пароль, возможно?)