Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CorruptQueryAccessWorkaround — CVE-2019-1402로 도입된 "Query is corrupt" 오류에 대한 최신 해결 방법 | Kitploit
도구/GitHubGitHub/lauxjpn/corruptqueryaccessworkaround
General Purpose UtilitiesVulnerability AnalysisCode AnalysisMisconfigurationDatabase Security
GitHublauxjpn/corruptqueryaccessworkaround

CorruptQueryAccessWorkaround

CVE-2019-1402로 도입된 "Query is corrupt" 오류에 대한 최신 해결 방법

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
316년 전아직 검토되지 않음

CorruptQueryAccessWorkaround: 쿼리 ''이(가) 손상되었습니다

CVE-2019-1402와 함께 MS Access에 도입된 쿼리가 손상되었습니다 오류에 대한 최신 해결 방법입니다.

관리자 수준에서 적용해야 하는 다른 해결 방법도 있습니다(예: 오류가 있는 업데이트를 제거). 대조적으로, 여기 제공된 해결 방법의 의도는 가능한 한 적은 작업으로 MDB/ACCDB 콘텐츠 자체를 자동으로 변경하여 작동하도록 하는 것입니다.

참고

Microsoft는 2019-12-10(패치 데이)에 이 문제에 대한 수정 사항을 출시했으며, 기본적으로 WSUS 등을 통해 자동으로 설치됩니다. 따라서 이 해결 방법은 수정 사항이 적용된 후에는 더 이상 필요하지 않으며, 이를 사용한 사람은 RemoveWorkaroundForCorruptedQueryIssue() 함수를 호출하여 원래 애플리케이션 상태를 복원할 수 있습니다.

지침

VBA Editor -> Tools -> References에서 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()는 반대 작업을 수행합니다.

저는 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가 중단됨: 쿼리 ''이(가) 손상되었습니다
  • StackOverflow

다른 언어의 오류 메시지

  • 독일어: Abfrage '' ist beschädigt
도구 다운로드