Web/Server Penetration

1-2. 웹 쉘이란?

jjudy 2022. 1. 12. 19:24

웹 쉘 ?

 

 

 

 

  • 웹과 쉘의 합성어이다.
  • 원격에서 웹 서버의 명령을 실행할 수 있도록 작성한 웹 스크립트 파일(JSP, ASP, PHP)이다.
  • 주로 파일 업로드 취약점에서 웹 쉘을 정상적인 파일로 위장해 웹 서버에 업로드 한 후 서버 침투에 사용된다.

 

 

 

웹 쉘의 기능 ?

  • 파일 삭제, 파일 생성 및 수정, 디렉토리 탐색 등 파일 시스템 조작 기능
  • 웹 서버의 권한으로 운영체제 명령 실행 기능
  • DBMS 에 접속하여 SQL 쿼리로 DB를 조작하는 기능

 

 

 

웹 쉘의 종류 ?

 

1.  일반 웹 쉘

     - 일반적으로 웹쉘이라고 부르며, 웹 서버 공격에 필요한 다양한 기능이 구현되어 있다.

     - 대표적으로 C99 웹쉘이 있다.

C99 웹 쉘

 

 

 

2.  한줄 웹 쉘

     -  코드 한 줄로 구현된 웹 쉘이다.

     -  공격 명령을 수행할 수 있는 명령어 1개를  단독으로 사용한다.

한줄 웹 쉘 예시

 

 

 

3.  다중분할 웹 쉘

     -  여러 개의 파라미터를 사용하며 웹 서버에서 재조합하는 방식이다.

 

 

 

4.  이미지 파일

     -  이미지 파일에 공격 구문을 삽입한다.

     -  확장자 필터링 및 MIME 타입 등의 검사 우회가 가능하다.

 

 

 

5.  소스코드 변조

     -  웹 서버에 존재하는 소스코드를 변조하여 웹 쉘 코드를 삽입하는 방법이다.

     -  주로 특정 토큰(파라미터, 쿠키, 세션 등)이 전송되었을 때만 기능이 활성화 되는 특징으로 웹 브라우저로는 변조 여부를 확인하기 어렵다.