Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CorruptQueryAccessWorkaround — Последнее обходное решение для ошибки "Query is corrupt", введенной с CVE-2019-1402 | Kitploit
Инструменты/GitHubGitHub/lauxjpn/corruptqueryaccessworkaround
Утилиты общего назначенияАнализ уязвимостейАнализ КодаНеправильная КонфигурацияБезопасность Баз Данных
GitHublauxjpn/corruptqueryaccessworkaround

CorruptQueryAccessWorkaround

Последнее обходное решение для ошибки "Query is corrupt", введенной с CVE-2019-1402

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
316 лет назадЕщё не проверено

CorruptQueryAccessWorkaround: Запрос '' поврежден

Последний обходной путь для ошибки Запрос поврежден, введенной с CVE-2019-1402 в MS Access.

Существуют другие обходные пути, которые необходимо применять на административном уровне, например, путем удаления ошибочного обновления. В отличие от них, цель представленного здесь обходного пути — работать путем автоматического изменения содержимого MDB/ACCDB с минимальными усилиями.

Примечание

Microsoft выпустила исправление для этой проблемы 10 декабря 2019 года (день патча), которое по умолчанию будет автоматически установлено через WSUS и т.д. Таким образом, этот обходной путь должен устареть после применения исправления, и любой, кто его использовал, может вызвать функцию RemoveWorkaroundForCorruptedQueryIssue() для восстановления исходного состояния приложения.

Инструкции

Убедитесь, что в Редактор VBA -> Сервис -> Ссылки включена ссылка на Microsoft DAO 3.6 Object Library (обратная совместимость) или Microsoft Office x.x Access Database Engine Object Library (см. #1 для получения дополнительных сведений).

Используйте модуль basWorkaround.bas для автоматической реализации предложенного Microsoft обходного пути (использование запроса вместо таблицы). В качестве меры предосторожности сначала создайте резервную копию базы данных.

Вызовите AddWorkaroundForCorruptedQueryIssue() для применения обходного пути и RemoveWorkaroundForCorruptedQueryIssue() для его удаления в любое время.

AddWorkaroundForCorruptedQueryIssue() добавит суффикс _Table ко всем несистемным таблицам, например, таблица IceCreams будет переименована в IceCreams_Table.

Она также создаст новый запрос с исходным именем таблицы, который будет выбирать все столбцы переименованной таблицы. В нашем примере запрос будет называться IceCreams и будет выполнять SQL select * from [IceCreams_Table].

RemoveWorkaroundForCorruptedQueryIssue() выполняет обратные действия.

Я использую этот обходной путь в крупных проектах с 400+ таблицами всех видов, включая внешние не-MDB таблицы (например, SQL Server).

В моем случае мне пришлось вручную переименовать USysRibbons_Table обратно в USysRibbons, так как я не пометил её как системную таблицу при создании.

Учтите следующее:

  • Использование запроса вместо таблицы может привести к выполнению неоптимизированных инструкций в отношении серверной базы данных в определенных случаях, особенно если ваши исходные запросы, использовавшие таблицы, имеют низкое качество или очень сложны.
  • Базовая таблица должна иметь определенный первичный ключ, иначе обновление или вставка строк будут невозможны.
  • Возможно (в зависимости от вашего стиля кодирования), что это не охватывает все ссылки в вашем коде (например, явное использование операторов вида TableDefs!MyTableName потребует от вас поиска и замены для этих экземпляров в вашем коде/интерфейсе).

Дополнительная информация

  • Born's Tech and Windows World
  • administrator.de (немецкий)
  • Описание ошибки и обходного пути от Microsoft
  • Форум Microsoft: Обновления CVE-2019-1402 (KB4484119 и др.) нарушают работу Access 2010/2013/2016/365: Запрос '' поврежден
  • StackOverflow

Сообщение об ошибке на других языках

  • Немецкий: Abfrage '' ist beschädigt
Скачать инструмент