Web/Server Penetration
1-2. 웹 쉘이란?
jjudy
2022. 1. 12. 19:24
웹 쉘 ?
- 웹과 쉘의 합성어이다.
- 원격에서 웹 서버의 명령을 실행할 수 있도록 작성한 웹 스크립트 파일(JSP, ASP, PHP)이다.
- 주로 파일 업로드 취약점에서 웹 쉘을 정상적인 파일로 위장해 웹 서버에 업로드 한 후 서버 침투에 사용된다.
웹 쉘의 기능 ?
- 파일 삭제, 파일 생성 및 수정, 디렉토리 탐색 등 파일 시스템 조작 기능
- 웹 서버의 권한으로 운영체제 명령 실행 기능
- DBMS 에 접속하여 SQL 쿼리로 DB를 조작하는 기능
웹 쉘의 종류 ?
1. 일반 웹 쉘
- 일반적으로 웹쉘이라고 부르며, 웹 서버 공격에 필요한 다양한 기능이 구현되어 있다.
- 대표적으로 C99 웹쉘이 있다.
2. 한줄 웹 쉘
- 코드 한 줄로 구현된 웹 쉘이다.
- 공격 명령을 수행할 수 있는 명령어 1개를 단독으로 사용한다.
3. 다중분할 웹 쉘
- 여러 개의 파라미터를 사용하며 웹 서버에서 재조합하는 방식이다.
4. 이미지 파일
- 이미지 파일에 공격 구문을 삽입한다.
- 확장자 필터링 및 MIME 타입 등의 검사 우회가 가능하다.
5. 소스코드 변조
- 웹 서버에 존재하는 소스코드를 변조하여 웹 쉘 코드를 삽입하는 방법이다.
- 주로 특정 토큰(파라미터, 쿠키, 세션 등)이 전송되었을 때만 기능이 활성화 되는 특징으로 웹 브라우저로는 변조 여부를 확인하기 어렵다.