스프링부트로 웹 페이지 만들어보기

1. 프로젝트 계기

웹 해킹을 공부하면서 워게임도 풀어보고 이론공부도 해보고 했지만, 직접 서버를 만들어서 실습해본 경험이 부족하다는걸 깨달았습니다.

서버도 가벼운 구축만 몇 개 해보았지 그 서버를 대상으로 해킹 실습을 해보거나 그런적은 없었네요.

해서 이번기회에 직접 웹 서버를 구축해보고, 게시판부터 파일 업로드/다운로드, 로그인 등 실제 홈페이지들이 사용 중인 기능들을 최대한 구현해보면서 실전과 가능한 비슷하게 만들어보고자합니다.

직접 만들면서 그 구조와 기능에 대해서 더 자세히 이해하는 계기가 되고, 직접 해킹해보며 그걸 막으려면 어떻게 설정하고 고쳐야하는지 알아가보겠습니다.

이 프로젝트를 통해 앞으로 해나갈 버그바운티와 취업 후 실전에 도움이 되었으면 좋겠습니다.

2. 프로젝트 목표

웹 서버와 다양한 기능들을 직접 만들어보면서 기능들과 api에 대해 이해하고 그 사이에서 발생할 수 있는 취약점에 대해 공부해나갈것 입니다. 또한 그 취약점을 공격하는 입장이 아닌 막는 입장으로써 방어하는 법과 할 수 있는 다양한 방법에 대해 알아나갈것입니다.

3. 프로젝트 설계

2.1 환경

  • OS는 Ubuntu 24.04.3 LTS 서버 버전을 사용합니다.
  • DB는 MySQL을 사용합니다.
  • 실제 실무처럼 ssh로 접속하여 사용할 예정입니다.
  • 데스크탑에서 개발 후 SFTP를 통하여 서버에 배포하는 식으로 만들어나갈껍니다.

2.2 직접 만들어 볼 기능

  • 로그인 기능
  • 게시판 기능
  • 사용자 정보 페이지 (비밀번호 변경, 프로필 변경, 자기소개 작성 등)
  • 파일 업로드, 다운로드

생각나는대로 더 추가할 예정입니다.

 

 

 

+ Recent posts