참고 자료 · 117

ZIP과 TAR: 디렉터리와 자원 예산 안에서 압축 해제

추출한 파일을 공개하기 전에 경로, 링크와 실제 해제량을 검증합니다.

업데이트됨 · 2 min

이 가이드가 달성하는 목표

  • 격리한 대상 선택
  • 실제 작업 제한
  • 완전한 결과만 공개

빠른 확인

  • 경로 정책과 격리 작업 디렉터리.
  • 명확한 예산과 실제 초과 시 중단.
  • 거부 목록과 완전 공개 증거.

단계별 방법

  1. 1

    격리한 대상 선택

    최소 권한의 새 비공개 디렉터리에 추출합니다. 절대 경로, 상위 이동, 불필요한 링크와 특수 파일을 거부합니다. 실제 해석된 대상과 충돌을 대소문자를 포함한 대상 시스템 규칙으로 확인합니다. 문자열 접두사만으로 격리를 입증할 수 없습니다.

    경로 정책과 격리 작업 디렉터리.

  2. 2

    실제 작업 제한

    기록한 바이트, 항목 수, 깊이, 시간과 프로세스 자원에 파일별 및 합계 한도를 둡니다. 압축 크기나 선언 크기만 믿지 않습니다. 불필요한 중첩을 거부하고 허용 시 모든 단계가 총예산을 공유합니다. 라이브러리와 필터를 갱신합니다.

    명확한 예산과 실제 초과 시 중단.

  3. 3

    완전한 결과만 공개

    ../, 절대 경로, 링크, 중복과 예산 초과를 시험합니다. 중단 시 배치를 공개하지 않고 기존 파일을 덮어쓰지 않아야 합니다. 유형과 내용을 검증한 후 공개하고 격리 디렉터리 정리 시 대상을 확인합니다.

    거부 목록과 완전 공개 증거.

재현 가능한 수락 사례

가상 예시입니다. 고객이나 실제 관측 결과를 나타내지 않습니다.

사례 입력 보기
{
    "compressed_mb": 2,
    "expanded_mb": 600,
    "aggregate_budget_mb": 100,
    "first_files_valid": true,
    "expected": "stop_on_actual_overrun_and_do_not_promote"
}

예상 판단

가상 예: 2 MB 압축 데이터가 600 MB로 늘어나며 예산은 100 MB입니다. 실제 기록량 초과 시 중단하고 앞 파일이 정상 같아도 공개하지 않습니다.

Python — tarfile extraction filters and further verification

나의 수락 기록장

이 가이드의 기준에 따라 관측을 기록합니다. 기록은 인증이 아닙니다.

자동 저장되지 않습니다. 떠나기 전에 내보내세요.

관리 지표

지표측정 대상첫 번째 조치
관찰한 압축 해제 바이트배치에 실제 기록한 바이트 합계ZIP 크기 대신 총예산과 비교
거부한 미공개 배치공개하지 않은 잘못된 배치 / 시험한 잘못된 배치추출 도중 실패 포함

일반적인 실수

    자주 묻는 질문

    작은 압축 파일이나 필터가 안전을 보장하나요?

    아닙니다. 크게 늘어날 수 있습니다. 자원 한도, 경로 규칙과 추출 파일 검증을 추가하세요.

    공식 참조

    참조는 방법을 뒷받침합니다. 상황에 맞게 검사를 조정하십시오. 이는 인증이 아닙니다. 원본 참조 제목 및 소스 문서는 다른 언어로 작성되었을 수 있습니다.

    참고 자료 확인일 .