GCP - Artifact Registry Persistence
Artifact Registry
Artifact Registry에 대한 자세한 정보는 다음을 참조하세요:
pageGCP - Artifact Registry Enum의존성 혼동
원격 및 표준 저장소가 가상 저장소에 혼합되고 패키지가 둘 다 존재하는 경우에는 어떻게 될까요?
가상 저장소에서 설정된 가장 높은 우선순위를 가진 것이 사용됩니다.
우선순위가 동일한 경우:
버전이 동일한 경우, 가상 저장소에서 알파벳순으로 가장 먼저 나오는 정책 이름이 사용됩니다.
그렇지 않으면 가장 높은 버전이 사용됩니다.
따라서, 원격 저장소의 우선순위가 더 높거나 동일한 경우, 공개 패키지 레지스트리에서 **가장 높은 버전 (의존성 혼동)**을 악용할 수 있습니다.
이 기술은 지속성과 인증되지 않은 액세스에 유용할 수 있으며, 이를 악용하기 위해서는 Artifact Registry에 저장된 라이브러리 이름을 알아야 하고 (예: Python의 PyPi) 동일한 버전으로 공개 저장소에 해당 라이브러리를 생성하면 됩니다.
지속성을 위해 다음 단계를 따르세요:
요구 사항: 가상 저장소가 존재하고 사용되어야 하며, 공개 저장소에 존재하지 않는 이름을 가진 내부 패키지를 사용해야 합니다.
원격 저장소를 생성하려면 존재하지 않는 경우
원격 저장소를 가상 저장소에 추가합니다.
가상 레지스트리의 정책을 편집하여 원격 저장소에 더 높은 우선순위 (또는 동일한 우선순위)를 부여합니다. 다음과 같이 실행하세요:
정품 패키지를 다운로드하고 악성 코드를 추가하여 동일한 버전으로 공개 저장소에 등록합니다. 개발자가 설치할 때마다 그의 것이 설치됩니다!
의존성 혼동에 대한 자세한 정보는 다음을 참조하세요:
最終更新