데이터유출
데이터 유출 탐지 예외사항과 해결책
1. Content-Type: MIME 타입 검사
MIME 타입은 클라이언트에게 전송되는 문서의 종류를 알려주는 메커니즘입니다.
1-1. 동작 가능한 타입
PLURA는 특정 MIME 타입만 동작합니다.
텍스트 타입: 사람이 읽을 수 있는 모든 텍스트 문서
예시:
text/plain
,text/html
,text/css
,text/javascript
멀티파트 타입: 여러 MIME 타입이 결합된 문서 카테고리
예시:
multipart/form-data
,multipart/byteranges
2. Content-Encoding
PLURA는 압축 해제 문제로 인해 Content-Encoding이 적용된 파일은 검사하지 않습니다.
3. charset=UTF-8
charset 속성은 HTML 문서의 문자 인코딩 방식을 지정합니다.
PLURA는 UTF-8에서만 동작합니다. (특히 Windows-IIS 환경)
3-1. 안내 문구
응답 본문을 읽을 수 없을 때, 필터 탐지 시 아래 안내 문구가 표시됩니다.
3-2. 문제점
응답 본문이 UTF-8이 아닌 다른 멀티바이트 인코딩(예: 한글 인코딩)일 경우 탐지에 문제가 발생할 수 있습니다.
3-3. 해결책
웹 문서에
<meta charset="UTF-8">
태그를 삽입하여 응답 본문이 UTF-8로 인코딩되도록 설정해야 합니다.
문서를 저장할 때 UTF-8 인코딩을 사용하세요.
4. MIME 타입 정리
MIME 타입은 개별 타입과 멀티파트 타입으로 나뉩니다.
개별 타입: 단일 유형의 문서를 나타냅니다.
예시:
text/plain
,text/html
,image/jpeg
,audio/mpeg
,application/octet-stream
특정 서브타입이 없는 텍스트 문서들에 대해서는 text/plain 이 사용되어야 합니다.
특정 혹은 알려진 서브타입이 없는 이진 문서에 대해서는 유사하게, application/octet-stream이 사용되어야 합니다.
멀티파트 타입: 여러 MIME 타입이 결합된 문서의 형태입니다.
예시:
multipart/form-data
,multipart/byteranges
멀티파트 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가리킵니다. 즉, 이 타입은 합성된 문서를 나타내는 방법입니다.
멀티파트 타입은 보통 HTML 폼과 POST 메서드에서 사용됩니다. HTTP는 이러한 문서를 다루는 특정 방법이 없으며, 브라우저가 문서를 어떻게 처리할지 모를 경우 "다른 이름으로 저장" 옵션을 제시합니다.
참고 사이트
Content-Type : MIME 타입 검사 https://mzl.la/327am7k
Content-Encoding https://bit.ly/31ecOJW
charset=UTF-8 https://theqoop.tistory.com/266
Apache 서버에서 HTTP 압축 비활성화 https://qubitsec.github.io/ko_apache_http_compression.html
Last updated