본문으로 바로가기

간단한 CTF 페이지 개발

category 실 없는 개발 2024. 9. 7. 15:52
728x90
반응형

 

CTFd를 이용해 CTF페이지 제작

서버는 개인 로컬 이용

  • 서버 환경 준비
    • 서버를 구축할 환경을 준비해야 합니다. 로컬 컴퓨터, 가상 머신, 혹은 클라우드 서버(AWS, Google Cloud, Azure 등)를 사용할 수 있습니다.
    • 서버에 Ubuntu 20.04 또는 22.04 LTS와 같은 리눅스 배포판을 설치하는 것을 권장합니다.
  • 필수 소프트웨어 설치
    • CTFd를 설치하려면 Python과 Docker가 필요합니다. Docker는 CTFd의 의존성을 간편하게 관리하고 배포하기 쉽게 도와줍니다.
  • CTFd 설치 및 설정
    • Git을 사용하여 CTFd 코드를 다운로드하고 Docker Compose를 통해 서버를 실행합니다.
  • 웹페이지 설정 및 사용자 정의
    • 관리자 페이지를 통해 문제를 추가하고, 사용자 인터페이스를 설정하며, CTF를 맞춤화합니다.

 

 

필자는 윈도우를 사용중이기에 윈도우에 Ubuntu 가상환경 설치 되어있긴한데 만약 없으시면 Microsoft Store에 LTS해주는 우분투 파니까(무료임) 최신버전으로 다운로드 해주면 됨

1. 서버 환경 준비

서버를 준비하고 Ubuntu 서버에 접속한 후 필요한 패키지를 업데이트합니다

sudo apt update && sudo apt upgrade -y

2. 필수 소프트웨어 설치

Python 설치

Python 3 및 필수 라이브러리를 설치

sudo apt install python3 python3-pip -y

Docker 및 Docker Compose 설치

Docker와 Docker Compose를 설치

# Docker 설치
sudo apt install docker.io -y

# Docker Compose 설치
sudo apt install docker-compose -y

# Docker 서비스 시작 및 자동 시작 설정
sudo systemctl start docker
sudo systemctl enable docker

3. CTFd 설치 및 설정

CTFd 다운로드

Git을 사용하여 CTFd 소스를 클론

git clone https://github.com/CTFd/CTFd.git
cd CTFd

Docker Compose를 이용한 CTFd 실행

Docker Compose 파일을 사용하여 CTFd를 실행

# Docker Compose로 CTFd 실행
sudo docker-compose up -d

이렇게 실행을 해주고 나면 docker가 모든 필요한 이미지를 다운받고 CTFd서버를 시작함

서버가 정상적으로 실행이 되면 CTFd는 기본적으로 서버의 80번 포트를 사용하여 웹페이지에 접속을 할 수 있음

# 추가 내용

4. 웹페이지 설정 및 사용자 정의

웹 브라우저에서 서버 IP 주소로 접속하면 CTFd 설정 페이지가 나타남

  1. 초기 관리자 계정 설정: 웹 브라우저에서 CTFd 페이지에 접속하여 관리자 계정을 설정
  2. 문제 추가: 관리 페이지에서 문제를 추가할 수 있습니다. 문제의 카테고리, 난이도, 점수 등을 설정할 수 있음
  3. CTF 커스터마이징: 대회 테마, 점수 체계, 사용자 권한 등을 관리 페이지에서 설정할 수 있음

이로써 CTFd를 이용한 CTF 웹페이지와 서버 설정이 완료. CTF 대회를 진행하면서 필요에 따라 문제를 추가하거나 참가자들을 관리할 수 있음.

5. 웹페이지 접속

CTFd가 실행된 후 웹 브라우저에서 http://localhost로 접속하여 CTFd 설정을 진행.

 

 

 

 

728x90
반응형

'실 없는 개발' 카테고리의 다른 글

도메인 설정  (3) 2024.09.08
환경 구축  (0) 2024.08.05
개인 오프라인 챗봇 개발 시작  (0) 2024.08.05