스프링부트로 웹 페이지 만들어보기
1. 프로젝트 계기
웹 해킹을 공부하면서 워게임도 풀어보고 이론공부도 해보고 했지만, 직접 서버를 만들어서 실습해본 경험이 부족하다는걸 깨달았습니다.
서버도 가벼운 구축만 몇 개 해보았지 그 서버를 대상으로 해킹 실습을 해보거나 그런적은 없었네요.
해서 이번기회에 직접 웹 서버를 구축해보고, 게시판부터 파일 업로드/다운로드, 로그인 등 실제 홈페이지들이 사용 중인 기능들을 최대한 구현해보면서 실전과 가능한 비슷하게 만들어보고자합니다.
직접 만들면서 그 구조와 기능에 대해서 더 자세히 이해하는 계기가 되고, 직접 해킹해보며 그걸 막으려면 어떻게 설정하고 고쳐야하는지 알아가보겠습니다.
이 프로젝트를 통해 앞으로 해나갈 버그바운티와 취업 후 실전에 도움이 되었으면 좋겠습니다.
2. 프로젝트 목표
웹 서버와 다양한 기능들을 직접 만들어보면서 기능들과 api에 대해 이해하고 그 사이에서 발생할 수 있는 취약점에 대해 공부해나갈것 입니다. 또한 그 취약점을 공격하는 입장이 아닌 막는 입장으로써 방어하는 법과 할 수 있는 다양한 방법에 대해 알아나갈것입니다.
3. 프로젝트 설계
2.1 환경
- OS는 Ubuntu 24.04.3 LTS 서버 버전을 사용합니다.
- DB는 MySQL을 사용합니다.
- 실제 실무처럼 ssh로 접속하여 사용할 예정입니다.
- 데스크탑에서 개발 후 SFTP를 통하여 서버에 배포하는 식으로 만들어나갈껍니다.
2.2 직접 만들어 볼 기능
- 로그인 기능
- 게시판 기능
- 사용자 정보 페이지 (비밀번호 변경, 프로필 변경, 자기소개 작성 등)
- 파일 업로드, 다운로드
생각나는대로 더 추가할 예정입니다.
'보안 > 실습' 카테고리의 다른 글
| 스프링부트로 웹 페이지 만들어보기 - 5. 글 작성 백엔드 (0) | 2025.10.21 |
|---|---|
| 스프링부트로 웹 페이지 만들어보기 - 4. DB 연결과 스프링부트의 구조 (0) | 2025.10.09 |
| 스프링부트로 웹 페이지 만들어보기 - 3. 게시판 토대 만들기 (0) | 2025.10.05 |
| 스프링부트로 웹 페이지 만들어보기 - 2. 프로젝트의 기본 구조 설명 (0) | 2025.10.03 |
| 스프링부트로 웹 페이지 만들어보기 - 1. 서버와 개발 환경 셋팅 (0) | 2025.09.29 |