WebShell 기반 파일 업로드 취약점을 이용한 권한 상승과 Database 탈취 및 대응 방안
KH정보교육원
2026.07.20 15:47
CURRICULUM 과정소개
| 과정명 | [강남] (정보시스템구축)정보시스템 구축·운영기반 정보보안전문가 양성과정(4) |
|---|---|
| 담당강사 / 발표일시 | 문성기 / 2026.03.05 |
| 프로젝트명 | WebShell 기반 파일 업로드 취약점을 이용한 권한 상승과 Database 탈취 및 대응 방안 |
ROLL 역할분담
| 박OO | 전체 시스템 아키택처 설계, 웹 페이지 소스코드 작성, 시나리오 설계, 취약점 대응 방안 적용 |
|---|---|
| 김OO | 웹 페이지 기능 설계, 웹 페이지 소스코드 작성, 시나리오 설계, 취약점 대응 방안 적용 |
| 김OO | DNS 서버 구현, 공격 시나리오 세부 정리 및 환경 설정, 취약점 대응 방안 구상 |
| 이OO | Apache 서버 구현, 공격 시나리오 세부 정리 및 환경 설정, 취약점 대응 방안 구상 |
PROJECT 프로젝트소개
- 개요
- 웹 서비스에서 자주 사용되는 파일 업로드 기능의 취약성을 중심으로 서버 구성 환경에서 발생할 수 있는 침해 과정을 단계적으로 재현하고 분석하는 것을 목표로 한다. 프로젝트 환경은 Rocky Linux 기반의 Apache(httpd) 웹서버와 MySQL 데이터베이스로 구성하고 게시판 및 파일 업로드 기능을 포함한 웹 애플리케이션을 직접 구현한다. 이후, 파일 업로드 취약점을 통해 웹쉘 접근이 가능한 상황을 구성하고 내부 권한 구조를 분석하여 SUID 설정이 적용된 실행 파일을 활용한 권한 상승 시나리오를 재현한다. 특히, 관리자의 잘못된 권한 설정으로 인해 발생할 수 있는 SUID 오남용 사례와 일반 사용자 권한이 시스템 상위 권한으로 확장될 수 있는 과정을 실습한다. 이를 통해, 단일 웹 취약점이 서버 전체 침해로 이어질 수 있는 구조적, 연쇄적 위험성을 확인한다. 본 프로젝트는 공격 기법 자체에 초점을 두기보단 잘못된 보안 설정이 실제로 어떤 결과를 초래하는지에 대한 이해와 대응 방안을 설계하는데 목적을 둔다.

- 구현기능
- 1. 회원 관리 기능
- 회원가입, 로그인 기능 구현
- 사용자 정보(MySQL 연동)를 기반으로 인증 처리
2. 게시판 기능
- 게시글 작성 및 목록 조회 기능 구현
- 게시글 정보(제목, 작성자, 파일명, 작성일 등)를 데이터베이스와 연동
- 업로드된 파일 링크를 게시글과 연결하여 출력
3. 파일 업로드 기능
- 파일 첨부 및 서버 저장 기능 구현
- 기본적인 확장자 필터링 로직 적용
- 업로드 경로를 웹 디렉토리 내에 구성하여 취약점 실습 가능 환경 조성
4. 데이터베이스 연동
- MySQL을 통한 데이터 저장 및 조회 기능
- 웹 애플리케이션과 DB 간 연결 구조 구성
5. 웹서버 구성
- Rocky Linux 기본 Apache(httpd) 기반 환경 구축
6. 권한 상승 실습 환경 구성
- 시스템 내 SUID 설정 파일 탐색 구조 확인
- SUID 오남용으로 인한 권한 상승 가능 시나리오 구성 - 설계의 주안점
- 본 프로젝트는 실제 침해 사고 흐름을 재현할 수 있는 있는 구조를 설계하는데 중점을 둔다. 웹 애플리케이션 계층과 운영체제 계층이 분리되지 않고 유기적으로 연결되어 있다는 점을 고려해 취약점이 어떻게 확장되는지 단계적으로 확인할 수 있도록 구성한다.
첫째, 현실적인 서버 환경 구성을 목표로 한다. Rocky Linux 기반의 기본 Apache(httpd)와 MySQL을 활용해 실제 운영 환경과 유사한 구조를 구축하며 웹 애플리케이션은 PHP와 데이터베이스를 연동하여 동작하도록 설계 한다.
둘째, 취약점 재현이 가능한 흐름 중심 설계에 주안점을 둔다. 입력값 정규화와 검증 간 처리 순서로 인해 확장자 필터가 우회되는 취약점이 발생하는 구조를 분석한다. 이러한 취약점을 포함한 게시판 환경을 실습 시나리오로 구성하고 웹쉘 업로드 및 접근이 가능한 상황을 가정하여 내부 시스템 구조 분석과 권한 상승까지 이어지는 침해 흐름을 단계적으로 재현한다.
셋째, 권한 구조 이해를 중심으로 한 시스템 설계를 고려한다. 운영체제의 파일 권한 및 SUID 개념을 활용하여 관리자의 잘못된 설정이 보안 취약점으로 이어질 수 있는 구조를 확인한다.
넷째, 공격 재현과 대응 관점의 병행 설계를 진행한다. 취약점이 발생하는 원인을 분석하고 해당 설정의 위험성을 구조적으로 정리한다. 또한 SUID 오남용 방지, 최소 권한 원칙 적용 등 대응 방안을 함께 고려하여 단순 공격 시연이 아닌 보안 설계 관점의 개선 방향을 도출한다. - 사용기술 및 개발환경
- 1. 운영제체 및 서버 환경
- Rocky Linux/8.10
- 192.168.10.149
2. 네임서버(DNS)
- BIND/9.11.36 (RedHat 계열 DNS)
- 192.168.10.148
3. 웹 서버
- Apache HTTP Server/2.4.37 (Rocky Linux 기본 httpd)
4. 데이터베이스 서버
- MariaDB/8.0.44 (MySQL 계열 DBMS)
- 192.168.10.149
5. 웹 애플리케이션 개발
- Frontend : HTML5, CSS
- Backend : PHP/7.2.24
6. 패킷 캡쳐 및 수정
- Burp Suite Community Edition/2026.2.1 - 공격과정 - SQL 인젝션






- 취약점 분석 및 대응방안






- 수행효과
- 1. 취약점 분석 역량 향상
- 입력값 정규화와 검증 순서 오류가 실제 보안 우회로 이어질 수 있음을 분석하며 취약점 식별 능력을 강화하였다.
2. 공격 흐름의 전체 라이프사이클 이해
- 파일 업로드부터 웹쉘 실행, 권한 상승 및 데이터 탈취까지의 공격 체계를 단계적으로 구성하였다.
3. 서버 내부 구조 분석 능력 향상
- 웹쉘 접근 이후 서버 파일 구조와 권한 체계를 분석하여 내부 시스템 이해도를 향상시켰다.
목록으로
댓글쓰기
0
