WebShell 기초
웹쉘이란?
웹 페이지 상에서 원격지 서버의 시스템 명령어 실행을 할 수 있는 어플리케이션이다.
웹쉘의 주요 기능
1) 파일 시스템 조작
- 디렉터리 탐색, 파일 보기, 파일 생성 및 수정, 파일 삭제, 파일 다운로드 및 업로드 ..
2) 운영체제 명령 실행
- 웹 서버 권한으로 운영체제 명령 실행 가능
3) DB 연결 및 조작
- DBMS에 접속하여 SQL 쿼리로 DB 조작 가능
웹쉘의 종류
- 일반 웹쉘
- ex) C99웹쉘
- 한줄 웹쉘
- Single-Line 또는 One-Line WebShell을 의미. CFI 스크립트 실행이 가능한 코드 한 줄로만 구현된 웹쉘이다. 파라미터로 전송
- ex) 일구화목마, Chopper
- 다중분할 웹쉘
- Multi Division WebShe
- 명령 코드는 여러 개의 파라미터를 사용하며, 웹 서버에서 재조합하느 ㄴ방식.
- 보안 솔루션의 탐지를 피하기 위한 수단으로 사용됨
- 이미지 파일
- 이미지 파일에 CGI 스크립트를 인젝션하여 확장자 필터링 및 MIME 타입 등의 검사 우회가 가능하다.
- [방법 A] Image 파일 구조 내에 CGI 스크립트 삽입하는 방법
- [방법 B] Image 파일 마지막에 CGI 스크립트를 추가하는 방법
- 소스코드 변조
- 웹 서버에 존재하는 소스코드를 변조하여 웹쉘 코드를 삽입하는 방법.
- 특정 토큰(파라미터, 쿠키, 세션, 헤더 등)이 전송되었을 때만 기능이 활성화 되는 특징이 있어, 웹 브라우저는 변조 여부를 확인하기 어려움.
웹쉘 실행을 위한 전제 조건
1) 웹 어플리케이션 서버에서 사용하는 언어로 제작된 웹쉘을 사용해야 한다.
2) 서버의 파일 시스템에 웹쉘이 존재해야 한다.
3) 웹 어플리케이션 서버의 웹 디렉터리 내에 웹쉘이 존재해야 한다.
4) 보안 솔루션이 존재하는 경우 우회해야 한다.
ⓐ 업로드 전에 차단된다. ▶ 보안 솔루션 (IPS, WAF)
ⓑ 업로드 한 후에 삭제된다. ▶ 보안 솔루션 (백신, 웹쉘탐지탐지솔루션 ...)
참고
WEB HACKING 서버 침투 기법
'보안 > 웹·모바일' 카테고리의 다른 글
홈페이지 취약점 진단 시 SSL 버전 확인 (0) | 2022.08.08 |
---|---|
URL 문자열을 파싱. urlparse() 함수 (0) | 2022.08.04 |
[web] 웹 모의해킹 도구들 (0) | 2022.07.30 |
SSRF(Server-Side Request forgery) (0) | 2022.07.15 |
파일 다운로드 공격 실습 (0) | 2022.07.15 |