웹 셸

웹 셸(web shell)은 업로드 취약점을 통하여 시스템에 명령을 내릴 수 있는 코드를 말한다. web shell은 간단한 서버 스크립트 (jsp, php, asp...)로 만드는 방법이 널리 사용되며 이 스크립트들은 웹 서버의 취약점을 통해 업로드된다. 웹셸 설치 시 해커들은 보안 시스템을 피하여 별도의 인증 없이 시스템에 쉽게 접속 가능하다.

(웹이 서버에서 구동되고 있다 하여도 취약점이 존재하지 않으면 수행되지 않으며, 만약 업로드되었다 하더라도 실행 권한이 없으면, 실행이 되지 않는다. 하지만 취약점과 실행 권한이 존재할 때는 서버 내부에 명령을 수행할 수 있으므로 침해 범위가 넓어질 수 있다.)

사용자로부터 입력된 시스템 명령어를 셸에 전달하는 기능을 가지고 있다.

같이 보기 
 셸: 운영체제 상에서 다양한 운영체제 기능과 서비스를 구현하고 제공하는 프로그램.

Web Shell 업로드 방지 
1.업로드: 파일 업로드가 불필요할 경우 업로드 기능을 완전히 제거하고 업로드가 필요한 경우 확장자를 제한한다.
확장자를 제한할 시에는 특정 확장자를 막는 것보다 특정 확장자만 되게 하는 것이 더 안전하다.
또한 txt.php 같은 유형의 이중 확장자 검사도 해야 한다.

2.SQL Injection 방지: 필터를 사용해서 SQL Injection을 막는다.

3.파일 업로드 폴더 실행 제한: 웹 서버 업로드 전용 폴더를 만들고 파일의 실행을 제한한다.

대표적인 웹셸 파일 
r57.php - 구글 같은 검색 엔진을 이용해 찾아보면 내려받을 수 있다.

보안
웹 취약점 공격
셸