드림핵을 보고 공부를 하는데 파일 업로드 취약점, 파일 다운로드 취약점이 있음.
단어 그대로 업로드와 다운로드를 할 때 공격을 하는 취약점임. 어떻게 취약점을 익스플로잇 하는지 알아보자.
1. 파일 업로드 취약점 (File Upload Vulnerability)
파일 시스템 상의 임의 경로에 원하는 파일ㅇ르 업로드하거나 악성 확장자를 갖는 파일을 업로드할 수 있을 때 발생하는 취약점.
-> 시스템 커맨드를 실행하는 원격 코드 실행 취약점을 유발할 수 있음.
1-1. Path Traversal
이용자가 업로드될 파일의 이름을 임의로 정할 수 있을 때 발생함.
대개의 서비스는 보안을 위해 특정 디렉토리에만 업로드를 허용하지만 이러한 제한이 없으면, 악의적인 이용자가 웹 서버의 소스코드나 서버에 있는 중요 시스템 파일을 덮어 쓸 위험이 있음.
Path Traversal 취약점은 업로드에 존재하는 이러한 제약을 우회하고, 임의 디렉토리에 파일을 업로드할 수 있는 취약점임.
->장고에 app.py나 urls.py, views.py 등이 있는데 이러한 악의적인 파일로 덮어쓰고 서버 재시작하면 이제 큰일난다는거지
1-2. 악성 파일 업로드
악성 파일 업로드 취약점은 이용자가 파일을 업로드 할 때 이를 제대로 검사 안해서 발생하는 취약점.
웹 서버는 .php, .asp, .jsp와 같은 확장자의 파일을 Common Gateway Interface(CGI)로 실행하고, 그 결과를 이용자에게 반환함. 또한 대게 서비스들은 php 파일에 이러한 cgi 핸들링이 가능함. 그래서 공격자가 악의적인 코드를 심은 php 파일을 업로드하고 GET요청을 보내 CGI에 의해 돌아가게끔 공격하는거.
-> 정보보호병 할 때 파일 올리는거 여러 확장자들 막아놨었는데 certutil로 base64 인코딩을 하면 뚫렸었음. 이런걸 이용하면 업로드 취약점 공격이 가능함.
2. 파일 다운로드 취약점(File Download Vulnerability)
웹 서비스의 파일 시스템에 존재하는 임의 파일을 다운로드 받을 수 있을때 발생하는 취약점.
설정파일, 패스워드 파일, 데이터 베이스 백업 본 등을 다운로드 하여 민감한 정보를 탈취하여 2차 공격을 유발할 수 있음.
당연히 임의 파일을 다운로드 받을 수 있게 하면 안되고 특정 디렉토리에 있는 파일만 접근하도록 해야함.
끝
'보안' 카테고리의 다른 글
process ghosting 탐지 (0) | 2023.09.27 |
---|---|
웹 모바일 취약점 점검 교육 후기? -1 (0) | 2023.03.02 |
mac os 에서 burp suite 설치 및 실행 (0) | 2023.02.13 |
ISMS-P -1.1.1 (0) | 2023.01.31 |
거진 2달간의 클라우드 공부 휴식 (0) | 2022.09.02 |