반응형
SMALL
1. 파일 업로드 공격 대응 방안
[그림 1-1] 소스 코드
업로드한 원본 이미지로부터 MIME 형식에 따라 PHP의 imagecreatefromjpeg 함수나 imagecreatefrompng 함수를 사용해서 새로운 이미지를 만든다. 두 함수는 오직 이미지만을 만들기 때문에 이미지가 아닌 데이터들은 모두 버린다. 또한 원본 이미지는 저장하지 않고 버린다.
[그림 1-2] 이미지 업로드
이미지 파일을 다운받고 이미지 파일을 업로드 하면 정상적으로 사진이 화면에 출력된다. 하지만 서버에 업로드 된 사진과 원본 사진의 크기는 다르다.
[그림 1-3] 원본 파일
[그림 1-4] 업로드 된 파일
서버에 업로드 된 파일과 원본 파일의 크기를 비교하면 다르다는 걸 알 수 있다. 두 파일이 언뜻 같아보일 수 있지만 크기가 달라 실제로 다른 파일이 업로드 된 것이다. 이처럼 이미지 파일을 재작성해서 서버에 저장하면 파일 업로드 취약점 공격에 대해 확실하게 대비할 수 있다. 하지만 이미지를 재처리하는 것은 서버에 부담을 줄 수 있기 때문에 실제로는 많이 사용하지 않는 방어법이고 High 레벨 수준의 방어가 가장 적절하다.
반응형
LIST
'웹해킹 > DVWA' 카테고리의 다른 글
CSRF 공격 (1) (0) | 2020.01.12 |
---|---|
Command Injection 공격 (2) (0) | 2020.01.04 |
파일 업로드 공격 (2) (0) | 2020.01.04 |
파일 업로드 공격 (1) (0) | 2020.01.04 |
파일 실행(File Inclusion) 공격 (2) (0) | 2020.01.04 |