MSAccess SQL-инъекция - PullRequest
       9

MSAccess SQL-инъекция

1 голос
/ 13 января 2011

Положение:

Я провожу тестирование на проникновение для моего друга, и у меня есть полное разрешение отправляться по почте в демонстрационной среде. Причина этого кроется в том, что я увидел XSS-дыру в его онлайн-ASP-приложении (страница ошибки с ошибкой в ​​качестве параметра, разрешающего html).

У него есть БД Access, и из-за его отсутствия проверки ввода я наткнулся на другую дыру: он допускает SQL-инъекцию в предложении where.

Я попробовал кое-что из: http://www.krazl.com/blog/?p=3

Но это дало ограниченный результат: MSysRelationships открыт, но его таблица объектов защищена. 'UNION SELECT 1,1,1,1,1,1,1,1,1,1 ОТ MSysRelationships WHERE' 1 '=' 1 <- сработало, поэтому я знаю, что родительская таблица имеет не менее 9 столбцов. Я не знаю, как я могу использовать таблицу отношений для получения имен таблиц (я не могу найти объяснение структур, поэтому я не знаю, что выбрать. </p>

Пробовал перебор некоторых имен таблиц, но безрезультатно.

Я не хочу уничтожать его БД, но я хочу указать на серьезный недостаток с некоторой поддержкой.

У кого-нибудь есть идеи?

1 Ответ

1 голос
/ 13 января 2011

Обычно есть два пути отсюда.Вы можете попытаться угадать имена таблиц по типу данных, которые в них хранятся, что часто работает («пользователи» обычно хранят пользовательские данные ...).Другой метод - генерировать в приложении речевые сообщения об ошибках, чтобы узнать, можно ли оттуда извлечь имена таблиц или столбцов.

...