Внедрение базы данных 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, если вы хотите, чтобы запрос не удался? + вы можете разобраться в запросе на вход в систему, он должен быть очень простым (имя пользователя и пароль, возможно?)

Другие вопросы по тегам