File Upload 시나리오 : webshell, shoutdown etc.
1. WEBSHELL 2. SHOUTDOWN 3. 업로드되는 파일의 위치가 서버 디렉토리 밖에 위치할경우. WEB SHELL File Upload를 통해서 아래와 같은 웹 쉘을 업로드 및 실행하였다. 다만 편의성을 위해서 다음과 같은 html코드를 추가하였다.
1. WEBSHELL 2. SHOUTDOWN 3. 업로드되는 파일의 위치가 서버 디렉토리 밖에 위치할경우. WEB SHELL File Upload를 통해서 아래와 같은 웹 쉘을 업로드 및 실행하였다. 다만 편의성을 위해서 다음과 같은 html코드를 추가하였다.
경로순회공격 : 공격자가 응용프로그램을 실행하고 있는 서버 내의 임의의 파일을 읽는 공격 만약 다음과 같은 HTML 코드가 있다고 하자.
대부분의 애플리케이션 제작 목적의 언어의 경우 시스템의 내장된 프로그램 호출 함수를 지원한다. 대표적인 함수는 다음과 같다. -php -Node.JS child_process(); -python os.system() 위 함수들을 사용할 경우 쉘 프로그램을 통해서 그 명령을 실행 하게 되는 것이다. Commend Injection : 악의적인 명령을 삽입하여 시스템 명령어로 실행하도록 하는 취약점 발생 원인 명령어를 실행하는 함수에 임의의 값을 전달 가능할경우 발생 위와 같은 함수는 &&, ;, |등의 문자를 통해 여러 명령어를 한번에 실행 가능하다. php에서 passthru함수를 통해 제작한 one line web shell을 사용하였다. 위의 웹 쉘에 명령어를 입력한 결과이다. 반면 다음과 같이 한번..
Netca(nc)t은 TCP/UDP프로토콜을 이용하여 네트워크를 연결해 데이터의 RW하는 명령줄 유틸리티. Netcat 구문 nc [options] host port 기본적으로 nc의 경우 TCP연결. nc -u host port -u 옵션을 통해서 UDP연결이 가능 포트 검색 단일 포트 혹은 범위를 지정하여 검색이 가능 -z옵션은 데이터를 전송하지 않고 열린 포트를 검색 -v옵션은 자세한 정보를 출력 nc -z -v 10.10.8.8 80-90 위와같이 80-90 사이의 포트의 개방 여부를 확인 가능 개방되었을 경우 success, 닫혀있을경우 failed 출력 grep를 통해 열린 포트만 확인 가능 nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded 서버 소프트웨어와 ..
파일업로드 공격 : 공격자가 임의의 파일을 업로드 할 수 있는 공격 파일 업로드공격 시나리오 파일 업로드 취약점이 발생할 경우 명령 실행, 파일 탐핵과 같은 서버측의 공겨에 더불어서 다른 취약점의 유발 및 바이러스 배포, 쉘 스크립트 삽이 ㅂ등 그 시스템으로 가능한 모든것을 할 수가 있음. 다만 공격자들이 일반적으로 가장 선호하는 공격은 웹쉘을 업로드 하는 것임. 웹쉘 공격 방법 1. 서버에서 실행이 가능한 파일 확인 2. 실행이 가능한지를 확인. -> 업로드 된 파일의 위치를 알아야 함. 3. 웹 쉘의 업로드 및 실행. 업로드 된 파일의 위치 탐색 방법 1. 파일을 다운로드 가능한 경우 다운로드를 받아보기. 이미지의 src속성을 확인하기.(우클릭의 이미지 주소 복사, 개발자도구, 웹 요청 확인 등) 2..
Mongo DB의 경우 문자열이 아닌 타일의 값의 입력이 가능 - > 연산자 사용가능. No SQL Injectiondb.user.find({"id": "입력", "age": "입력"}) 위의 입력칸에 입력이 가능할경우 admin의 age를 조회하는 방법 $ne 연산자(!=) 사용 admin, {"$ne": "아무값"} 위와 같은 방법으로 인증 우회 및 조회가 가능 Blind NoSQL InjectionBliend SQL Injection과 같이 참/거짓을 통해 DB의 정보를 가져올 수 있다. db.test.test.find({"uid":"admin","pw":"입력"}) 마찬가지로 입력에 입력이 가능할 때 admin의 pw를 알아내는 방법은 다음과 같다.$regex : 지정된 정규식과 일치하는 문서..
파일 업로드에 제한이 없다면 시스템에 코드를 업로드하기 굉장히 쉬워질 것이다. 위 취약점으로 가능한 공격은 명령 실행 및 파일 탐색 등 서버측 공격, 다른 취약점 유발, 바이러스 배포, 셸 스크립트 삽입 등 그 시스템으로 가능한 모든것을 할 수 있게 될 것이다. 우회 방법 - 서버측에서 실행 가능한 확장자 찾기 (php5, pht, phtml 등) - 이중확장자 파싱 주의할점으로 php와같이 실행하고 싶은 확장자가 뒤에 와야함. Apache의 경우 file.php.123와 같이 우회 가능 단, 현제는 업데이트를 톻애 apache에서 전반적으로 전반적으로는 이중확장자를 하나가 없는확장자일경우 나머지 하나를 인정하지만, 만약 맨 뒤의 확장자가 실제로 사용되는 확장자이거나 파일명에 한정해서는 이중확장자중에 뒤..
1. 계정의 설정 변경 CSRF를 통해 계정의 설정을 변경하는 것이 가능하다. 만약 피해자가 특정 링크를 클릭한다고 해보자. 그런데 그 링크에서는 계정 설정을 변경하는 페이지에 요청을 보내는 링크가 포함되어있거나 XSS를 통해 바로 요청을 보내도록 한다고 해보자. 그렇다면 로그인 된 피해자의 계정의 요청으로 설정 변경 요청을 보냈기 떄문에 계정의 설정이 변경될 것이다. 2. 계정 정보 취득 설정 변경 뿐만이 아니라 이미 등록되어있지만 피해자만이 볼 수 있는 페이지에서만 나오는 정보를 취득 할 수도 있을 것이다. 예를들면 마이페이지에 나와있는 주소나 전화번호, 이메일 등이 있을 수도 있으며 계정 설정 변경 페이지에서 현제 입력된 정보가 value 혹은 placeholder속성의 내용을 가져올 수도 있을 것..