Season 1/기술 보안 파일 업로드(File Upload Attack) 취약점 설명 작성자 - 한수임 파일 업로드 공격, 취약점 설명 공격 설명 - 파일 업로드 기능 사용 시 공격자가 서버 스크립트 코드(웹쉘, 허용되지 않은 파일)가 포함된 파일을 업로드시키는 취약점 업로드 이후 파일(코드)을 실행하는 공격 영향도 - 실행된 웹쉘을 통하여 사용자 정보, 데이터베이스에 저장된 다른 데이터베이스 정보, 시스템상 계정, os 종류 등 탈취 가능 공격 방식 - 업로드 기능이 존재하는 곳에 제한 및 검증을 우회하여 파일이 업로드될 수 있도록 함 - 확장자 변조, 대소문자 치환, 이중 확장자 사용, 특수문자 삽입, 인코딩, 요청 값 변조 등 을 이용하여 우회 시도 간단한 예시입니다. 확장자 변조 - test.jpg->test.jsp 대소문자 치환 - file.pHp, file.Jsp, file.PhAr 이중 확장자 사용 - file.png.php 특수문자 삽입 - file.php%00.png, file.jsp%zz.gif, file.asp;jpg, file.php...., file.php/ (특수문자 (%00, %zz, . 등)를 통해 이전의 확장자를 마지막으로 인식하도록 함) 인코딩 - file.js%70, file%22jsp 2중 파라미터 삽입 - filename=test.jpg, filename=test.jsp MIME Type 변조 - contentType=image/jpeg, contentType=image/gif (MIME - MIME은 Multipurpose Internet Mail Extensions의 약자이며, 정보를 주고받을 때 에는 바이너리로 된 문서를 텍스트로 변환해서 전달하여야 하기에 사용되며 파일 종류/ 파일 포맷 형태로 사용이 된다) - 이 외에도. htaccess 파일을 이용한 공격, 시그니처를 통한 공격법 등 이 존재. 해결방안 1. 파일을 업로드할 수 있는 확장자를 제한한다. 화이트리스트 방식을 이용하여 허용된 확장자만 업로드 할 수 있도록 하는 것이다. 2. 특수문자를 통해 우회할 수 없도록 특수문자에 대한 필터링을 적용시킨다. 3. 업로드가 되더라도 실행될 수 없도록 실행 권한을 제한시킨다. 4. 업로드된 파일들은 서버 외부 경로에 저장을 하도록 하여 외부로부터 업로드 디렉터리에 접근할 수 없도록 해야 한다. 실습 진행 준비사항 : 파일 업로드 취약점이 존재하는 페이지, 프록시 툴* 해당 실습은 테스트를 위해 만들어진 페이지에서 진행되었으며, 일반 페이지에서 따라 하시면 안 됩니다.1. 업로드 기능이 있는 곳에 ASP파일 업로드 시도 ASP 파일 업로드 시도 2. 에러 메시지 확인 화이트 리스트 방식 적용 확인 3. 이중 확장자를 통한 업로드 시도 화이트 리스트에 맞춰 .asp.gif 로 이중 확장자를 이용한 업로드 시도 4. 요청 값 내 확장자 변경 시도 filename="PHP_TEST_1.0.asp.gif"-> "PHP_TEST_1.0.asp." gif 확장자 삭제 5. 업로드 가능 확인 asp 파일 업로드 확인 6. 업로드된 파일 실행(클라이언트 IP주소 가져옴, 업로드는 "."를 포함하여 업로드 후 실행 시 "." 삭제) 파일 선택 후 . 삭제하여 업로드된 파일 실행 * 파일 업로드는 서버에 따라 실행될 수 있는 언어가 무엇인지 소스보기 및 패킷 등을 이용하여 파악 후 업로드된 파일이 실행 가능한지 확인하는 것이 중요! (확인불가 시 다양한 서버 측 언어 파일들을 올려봄으로 써 확인 가능) 공유하기 게시글 관리 MSS 'Season 1 > 기술 보안' 카테고리의 다른 글 파일 다운로드(File Download) 취약점 설명 및 진단법 (0) 2021.04.30 [dreamhack] cookie 문제풀이 (0) 2021.04.30 OWASP ZAP Active Scan - Remote OS Command Injection 공격 분석 (0) 2021.03.30 Apache 보안설정 (2) (0) 2021.03.28 AWS 클라우드 보안 ②-1 AWS 네트워크 보안 (0) 2021.03.25 Contents 당신이 좋아할만한 콘텐츠 파일 다운로드(File Download) 취약점 설명 및 진단법 2021.04.30 [dreamhack] cookie 문제풀이 2021.04.30 OWASP ZAP Active Scan - Remote OS Command Injection 공격 분석 2021.03.30 Apache 보안설정 (2) 2021.03.28 댓글 0 + 이전 댓글 더보기