본문 바로가기

Web20

파일 다운로드 공격 및 우회 기법 윈도우는 대소문자를 구분하지 않지만, 리눅스는 대소문자를 구분한다. → 서버가 윈도우 기반인지 리눅스 기반인지 알 수 있다. → 대문자를 바꿔도 그대로 다운로드 받아진다면 윈도우 기반 또한, jsp나 php일 시 리눅스일 가능성이 높음 boot.ini 파일 존재시 윈도우 계열(버전에따라 다름), passwd 파일 존재시 Linux 계열 상위 폴더 이동 명령어는, 리눅스에서는 ../ 만을 사용하고, 윈도우에서는 ../ 또는 ..₩를 사용한다. 파일 다운로드 공격 기법 ① 멀티 파라미터 변조 예시 URL) www. example.com/view.php?file=mango.jpg&file_path=/test * /etc/passwd 파일에 접근하기 view.php?file=passwd&file_path=../.. 2022. 4. 13.
파일 다운로드(File Download) 파일 다운로드(File Download) 취약점? 파일 다운로드란, 사용자가 업로드한 파일을 다른 사용자와 공유하기 위한 기능이다. Path Traversal(경로 조작)을 이용해 더 상위 경로에 존재하는 시스템 파일, 설정 파일과 같은 중요한 정보들을 다운로드할 수 있는 취약점이다. (웹 서버 루트 디렉토리까지 접근 가능) 디렉토리 인덱싱 취약점을 통해 웹 서버 디렉토리 구조를 파악할 수 있다. 웹 어플리케이션 소스 코드, 관리자의 패스워드, 서비스 키, 설정 파일 등이 유출될 수 있다. 파일 다운로드 취약점 발생 조건 ① 파일 경로와 파일명 노출 * 파일 다운로드 시 해당 파일의 상대경로 또는 절대경로를 사용하는 경우 * 다운로드 모듈이 파일의 경로나 이름을 파라미터로 사용하는 경우 ② 파일 경로와 .. 2022. 4. 13.
파일 업로드 공격 및 우회 기법 파일 업로드 우회 기법 ① Proxy 툴을 이용해 확장자 검사 우회 파일타입 변조 등의 우회 공격을 통해 확장자 검사를 피하는 것 업로드 시 파일 유형 정보를 알려주는 MIME는 Content-Type, MIME-Version, Content-Transfer-Encoding 등 세 가지 헤더 정보로 구성 MIME 형식은 "파일 종류/파일 포맷" 형태로 정의 MIME 타입 - HTTP | MDN MIME 타입이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다: 웹에서 파일의 확장자는 별 의미가 없습니다. 그러므로, 각 문서와 함께 올바른 MIME 타입을 전송하도 developer.mozilla.org ② IIS 취약점을 이용한 파일 업로드 CGI 와 관련된 확장자 검사 우회 취약점으로 .. 2022. 4. 1.
파일 업로드(File Upload) 파일 업로드(File Upload) 취약점? 게시판 등에서 스트립트 파일 업로드에 대한 규제가 없을 경우 이를 악용한 해커에 의해 악성 스크립트 파일이 수행될 수 있는 취약점 이 파일 업로드 기능을 악용하여 웹 쉘 업로드가 가능해 시스템 권한 획득 또는 인접 서버에 대한 침입을 시도할 수 있는 취약점 취약점 발생 시, 정보유출, 악성코드 배포 등의 문제가 생길 수 있음 웹 쉘 (WEB Shell) ? 1-2. 웹 쉘이란? 웹 쉘 ? 웹과 쉘의 합성어이다. 원격에서 웹 서버의 명령을 실행할 수 있도록 작성한 웹 스크립트 파일(JSP, ASP, PHP)이다. 주로 파일 업로드 취약점에서 웹 쉘을 정상적인 파일로 위장해 웹 서버에 newbie21.tistory.com 취약점 발생 조건 ① 파일 경로를 알아야 .. 2022. 3. 29.
2-1. 파일 업로드 취약점 파일 업로드(File Upload) 취약점? 게시판 등에서 스트립트 파일 업로드에 대한 규제가 없을 경우 이를 악용한 해커에 의해 악성 스크립트 파일이 수행될 수 있는 취약점 이 파일 업로드 기능을 악용하여 웹쉘 업로드가 가능해 시스템 권한 획득 또는 인접 서버에 대한 침입을 시도할 수 있는 취약점 웹 서버에서 사용하는 CGI 스크립트 확장자로 파일 업로드 및 웹 브라우저로 열람 및 실행이 가능해야 취약점이 성립함 취약점 발생 시, 정보유출, 악성코드 배포 등의 문제가 생길 수 있음 파일 업로드 취약점 실습 ① 서버의 웹 루트(/var/www/html) 에 취약한 PHP 소스코드를 업로드 책에 있는 upload.html 과 upload.php 파일을 업로드해주었다. ② 웹쉘이 저장될 디렉토리를 생성하고,.. 2022. 1. 28.
1-5. 테스트 환경 구축(APM 웹서버) 책에서는 yum 명령으로 apache, php, mysql을 한꺼번에 설치하지만 나는 각자 설치를 진행하도록 하겠다. 1. Apache 설치 ① yum 패키지 업데이트 # yum list updates && yum -y update 명령어로 업데이트하기 ② apache 설치 # yum -y install httpd 명령 ③ apache 서비스 실행 # systemctl status httpd 명령으로 상태를 확인하면 inactive 되어 있음 # systemctl start httpd 명령으로 서비스를 실행 # systemctl enable httpd.service 명령으로 재부팅 시 자동으로 서비스를 실행함 다시 # systemctl status httpd 명령으로 상태를 확인하면 active(활성화).. 2022. 1. 20.