[도서명] 안전한 웹을 위한 코딩 한줄의 정석

 

디렉토리 트레버셜 취약성

- 외부로부터 파일명을 지정할 수 없게 함

- 파일명에 디렉토리명이 포함되지 않도록 함

- 파일명을 영어/숫자로 제한

 

파일 다운로드

 - 파일의 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
Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함