[취약점 조건]
- 서버에 파일 업로드 가능
- 업로드 폴더 웹 디렉토리 내부에 존재
- 폴더 실행권한 존재
- 파일에 대한 필터링 존재 안함(확장자, 파일 내용, 파일 저장 경로, 파일 크기, 파일 이름 등)
[웹 쉘(Web Shell)]
- 웹 서버에 설치되어 원격으로 서버 제어 가능하게 하는 스크립트 파일
- 주로 서버 언어 스크립트로 제작
- 공격자가 서버 칩입 후 지속적으로 접근하거나 명령을 실행 목적
- 한 줄 웹 쉘
- 'eval()' 나 'exec()' 함수와 같은 명령어 실행하는 한 줄 코드
- eval() 함수 : 문자열로 된 프로그래밍 코드(수식이나 명령어)를 인자로 받아 이를 실제 코드로 해석하고 실행
- exec() 함수 : 현재 실행 중인 프로세스의 메모리 공간을 새로운 프로그램으로 덮어씌워 실행하는 시스템 호출
- 파일 사이즈가 작아 탐지에 쉽게 되지 않으나, 기능이 제한적임
- 'eval()' 나 'exec()' 함수와 같은 명령어 실행하는 한 줄 코드
- 브라우저 웹 쉘
- 그래픽 사용자 인터페이스(GUI)를 통한 서버 제어 가능
- 파일 사이즈 커 탐지에 쉽게 적발되나, 다양한 기능을 포함
[브라우저 웹 쉘 실습]


- 보통 업로드 파일이 '.php' 같은 서버 스크립트 확장자를 업로드는 일반적이지 않은 상황으로, 보안 설정으로 업로드 허용하지 않아야 함

- 게시글 URL로 확인 가능 정보 : borad 디렉토리 하위 'qna_view.php'에서 게시물 노출 확인

- 첨부 파일 호버시 표시되는 내용으로 확인 가능 정보 : 사용자가 업로드한 파일은 업로드한 사용자의 닉네임 폴더 생성 후 그 안에 저장되는 구조 유추

- upload 이름 디렉토리가 존재한다는 가정으로 성공적으로 웹 쉘접속 완료

- 웹 쉘은 웹 서버 권한을 얻기 때문에 root(최상위) 권한이 아닌 apache 권한을 얻음

- DB데이터 관련 접근시 DB 계정 정보를 통해 DB 탈취 가능
'보안 > 보안 개념' 카테고리의 다른 글
| SYSMON (0) | 2026.05.26 |
|---|---|
| 파일 업로드 취약점 대응 방안(보안코딩) (0) | 2026.05.26 |
| LFI와 RFI (0) | 2026.05.20 |
| XSS-WAF로 차단 (0) | 2026.05.20 |
| SQL Injection WAF 및 공격차단 (0) | 2026.05.19 |