아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
컬리 favicon컬리

엑셀 업로드, Zip Bomb 에러를 막아 시스템을 보호하세요!

by DD
2024-10-23
1년 전
조회수 0

엑셀 파일 업로드 기능에서 Zip Bomb 에러 발생, 시스템 불안정 초래

Apache POI 라이브러리 사용 중, 압축 해제 비율 문제로 에러 감지

압축 해제 비율 조정, 파일 크기 제한 등을 통해 문제 해결 시도

Zip Bomb의 기술적 배경

Zip Bomb은 압축 파일 내에 과도한 양의 데이터를 숨겨 시스템 자원을 고갈시킨다. 구체적으로 압축 해제 과정에서 메모리 사용량 급증을 유발한다. 따라서 엑셀 파일과 같이 압축된 파일 처리 시 압축 해제 비율을 주의해야 한다.

Apache POI와 Zip Bomb의 관계

Apache POI는 엑셀 파일(.xlsx)을 처리하기 위해 ZIP 압축을 해제한다. XSSFWorkbook 객체 생성 시 압축 해제 과정에서 Zip Bomb 감지가 이루어진다. 반면, 압축 해제 비율이 높으면 Zip bomb detected 오류가 발생하므로, 최소 압축 해제 비율 설정을 통해 문제를 완화할 수 있다.

Zip Bomb 방어 전략

Zip Bomb을 방어하기 위해 압축 해제 비율 제한, 파일 크기 제한 및 압축 레벨 제한을 적용한다. 구체적으로 ZipSecureFile.setMinInflateRatio()를 사용하여 최소 압축 해제 비율을 설정한다. 따라서, 시스템의 안정성 확보와 보안 강화를 위해 지속적인 관리가 필요하다.

엑셀 업로드 중 발생한 Zip Bomb 에러 파헤치기! 🥊
중급
아키텍처
Java
Apache POI
Excel
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

Netflix, ArchUnit 기반 Nebula ArchRules로 대규모 Java 프로젝트 아키텍처 관리

넷플릭스 로고

브라우저에서 자바(Java)를? JavaBox 프로젝트의 놀라운 도전!

랍스타즈 로고

브라우저에서 자바(Java)를? 55초 만에 'Hello World' 출력!

레딧 로고

Java Kotlin 전환, 성공적인 백엔드 리팩토링 사례

우아한형제들 로고

Java로 RSYNC를? JPM으로 Windows, Mac, Linux 모두 지원!

레딧 로고

AI 코딩 어시스턴트 활용 격차 해소와 전환 자동화

AWS 로고
컬리 favicon컬리
중급
아키텍처
Java
Apache POI
Excel
Backend

관련 추천 글

Netflix, ArchUnit 기반 Nebula ArchRules로 대규모 Java 프로젝트 아키텍처 관리

넷플릭스 로고

브라우저에서 자바(Java)를? JavaBox 프로젝트의 놀라운 도전!

랍스타즈 로고

브라우저에서 자바(Java)를? 55초 만에 'Hello World' 출력!

레딧 로고