반응형
정의
파일 업로드 공격은 악의적인 사용자가 웹 응용 프로그램 또는 웹 사이트에 파일을 업로드하여 보안 취약점을 악용하는 공격입니다. 보통 웹쉘파일을 업로드 합니다.
취약점 발생 지점 리스트
- 업로드 가능한 파일의 종류
- 파일이 업로드된 경로가 확인 가능하고 또 실행이 되는 경우
취약점 검증 방법
- 파일 업로드 기능이 있는 게시판
- 로그아웃한 상태에서 마이페이지 접근
공격법
공격순서
- 공격자는 웹 응용 프로그램의 파일 업로드 기능을 이용하여 파일을 업로드합니다.
- 어떤 유형의 파일이 허용되는지 확인한다 (php, png, jpg…etc).
- 업로드된 파일이 서버의 어느 경로에 저장되는지 파일경로가 노출되는지 확인한다.
- 노출된 경로로 get 방식으로 파일에 접근할수 있는지 확인한다.
- 업로드 공격으로 원하는 정보를 탈취한다.
파일 업로드 구조
파일 업로드 공격 발생 과정
웹쉘파일 업로드 과정
- 파일 선택: webshell파일을 선택
- 파일 업로드 요청: 서버에서 webshell 파일인 php파일을 허용함
- 파일 유효성 검사: 유효성 검사 통과
- 파일 정보 저장: webshell파일이 저장된다.
- 저장 결과 전달: 공격자가 원하는 정보를 webshell을 통해서 전달받는다.
대응방법
- 파일 형식 검증 강화: 업로드된 파일의 유효성을 검사하여 허용된 파일 형식만 허용합니다.
- 파일 이름 검증: 파일 이름에 대한 유효성을 검사하여 악성 파일 이름을 차단합니다.
- 파일 크기 제한: 공격자가 대용량 파일을 업로드하여 서버 자원을 고갈시키는 것을 방지하기 위해 파일 크기 제한을 설정합니다.
- 보안 정책 엄격화: 서버에서 업로드된 파일의 저장 위치와 권한을 제한하고, 실행 가능한 파일을 업로드할 수 없도록 보안 정책을 엄격히 적용합니다.
- 파일 업로드 후 이벤트 검증: 파일 업로드 후 서버에서 발생하는 이벤트를 검증하여 악의적인 동작
반응형
'old > Cyber Security' 카테고리의 다른 글
사이버 보안: 동적분석과 정적분석이란? (0) | 2023.08.24 |
---|---|
파일 업로드 공격 치트시트 (0) | 2023.08.21 |
사이버 보안: 웹셀(Web Shell) 이란 (0) | 2023.08.21 |
웹 해킹 예제: 세션 고정 공격 (0) | 2023.08.17 |
웹 해킹 예제: 인증과 인가 취약점_CTF: 로그인 우회하기 (0) | 2023.08.05 |