Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/lauxjpn/corruptqueryaccessworkaround
汎用ユーティリティ脆弱性分析コード分析設定ミスデータベースセキュリティ
GitHublauxjpn/corruptqueryaccessworkaround

CorruptQueryAccessWorkaround

CVE-2019-1402で導入された「Query is corrupt」エラーの最新の回避策

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
316年前未レビュー

CorruptQueryAccessWorkaround: クエリ '' が壊れています

CVE-2019-1402 で MS Access に導入された Query is corrupt エラーに対する最新の回避策です。

他にも管理者レベルで適用する必要がある回避策(誤った更新プログラムのアンインストールなど)がありますが、ここで提供するものは、可能な限り手間をかけずに MDB/ACCDB の内容自体を自動的に変更することで機能することを目的としています。

注意

マイクロソフトは 2019 年 12 月 10 日(パッチデー)にこの問題の修正をリリースしており、これは WSUS などを介してデフォルトで自動インストールされます。したがって、この回避策は修正が適用された後は不要になるはずであり、これを使用した人は RemoveWorkaroundForCorruptedQueryIssue() 関数を呼び出して元のアプリケーション状態に戻すことができます。

手順

VBA エディターの [ツール] -> [参照設定] で、Microsoft DAO 3.6 Object Library(下位互換性)または Microsoft Office x.x Access Database Engine Object Library の参照が有効になっていることを確認してください(詳細は #1 を参照)。

basWorkaround.bas モジュールを使用して、マイクロソフトが推奨する回避策(テーブルの代わりにクエリを使用)を自動的に実装します。念のため、最初にデータベースをバックアップしてください。

AddWorkaroundForCorruptedQueryIssue() を呼び出して回避策を適用し、RemoveWorkaroundForCorruptedQueryIssue() を呼び出していつでも元に戻せます。

AddWorkaroundForCorruptedQueryIssue() は、すべての非システムテーブルに接尾辞 _Table を追加します。たとえば、テーブル IceCreams は IceCreams_Table に名前が変更されます。

また、元のテーブル名を持つ新しいクエリを作成し、名前変更されたテーブルのすべての列を選択します。この例では、クエリの名前は IceCreams で、SQL select * from [IceCreams_Table] を実行します。

RemoveWorkaroundForCorruptedQueryIssue() は逆の操作を行います。

私はこの回避策を、SQL Server のような外部の非 MDB テーブルを含む、あらゆる種類の 400 以上のテーブルを持つ大規模プロジェクトで使用しています。

私の場合、USysRibbons_Table を手動で USysRibbons に戻す必要がありました。過去に作成したときにシステムテーブルとしてマークしていなかったためです。

以下の点に注意してください。

  • テーブルの代わりにクエリを使用すると、特定のケースでバックエンドデータベースに対して最適化されていないステートメントが実行される可能性があります。特に、元のテーブルを使用していたクエリの品質が低いか、非常に複雑な場合に顕著です。
  • 基になるテーブルには主キーが定義されている必要があります。定義されていない場合、行の更新や挿入はできません。
  • (コーディングスタイルによっては)これがすべてのコード参照をカバーしない可能性があります(たとえば、TableDefs!MyTableName のようなステートメントを明示的に使用している場合、コードや UI 内の該当箇所を検索して置換する必要があります)。

詳細情報

  • Born's Tech and Windows World
  • administrator.de (ドイツ語)
  • Microsoft エラーと回避策の説明
  • Microsoft フォーラム: CVE-2019-1402 更新プログラム (KB4484119 など) が Access 2010/2013/2016/365 で Query '' is corrupt エラーを引き起こす
  • StackOverflow

他言語でのエラーメッセージ

  • ドイツ語: Abfrage '' ist beschädigt
ツールをダウンロード