2013. 3. 19. 00:21 java
파일 접근에 발생하는 문제
[도서명] 안전한 웹을 위한 코딩 한줄의 정석
디렉토리 트레버셜 취약성
- 외부로부터 파일명을 지정할 수 없게 함
- 파일명에 디렉토리명이 포함되지 않도록 함
- 파일명을 영어/숫자로 제한
파일 다운로드
- 파일의 Content-Type을 올바르게 설정
- 이미지의 확장자와 이미지의 내용(매직 바이트)이 맞고 있는 것을 확인
- 다운로드 하려는 파리은 response header로 "Content-Disposition : attachment"를 지정
이 경우는 Content-Type도 application/octet-stream으로 하면 파일 타입상으로도 다운로드
될 파일 이라는 의미
예) Content-type : appliction/octet-stream
Content-Deisposition : attachment; filename="xxxx.pdf"
- PDF 형식의 Content-Type을 application/pdf로 올바르게 설정하면 취약성은 없어짐
매직 바이트
- 파일 타입을 식별하기 위해 파일의 앞부분에 위치하는 고정 문자열
- GIF, JPEG, PNG의 매직바이트
GIF : GIF87a 혹은 GIF89a
JPEG \xFF\D8\xFF
PNG\x89PNG\x0D\x0A\x1A\x0A
'java' 카테고리의 다른 글
인증 (0) | 2013.03.19 |
---|---|
eval에서 발생하는 문제 (0) | 2013.03.19 |
중요한 처리를 할 때에 생기는 취약성 (0) | 2013.03.19 |
쿠키와 세션 관리 (0) | 2013.03.18 |
owasp 보안 문서 (0) | 2013.03.12 |