ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CTFd 설치법
    System/CTF 2019. 11. 29. 16:01

    환경은 Ubuntu 16.04에서 진행하였다.

     


    패키지 설치

    1. git 설치

    sudo apt-get install git

     

    2. python3 && pip3 설치

    sudo apt-get install python3 python3-pip

     

    3. CTFd git 다운로드

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

     

    4. CTFd 모듈 설치

    sudo pip3 install -r requirements.txt

    여기까지 진행했으면 CTFd 설치는 끝났다.

    이제 스크립트를 상황에 맞게 수정 해주면 된다.

     


    serve.py 수정

    vi serve.py
    #!/usr/bin/python3
    # 파일 실행 환경변수 설정
    
    from CTFd import create_app
    import argparse
    
    parser = argparse.ArgumentParser()
    parser.add_argument("--profile", help="Enable flask_profiler profiling", action="store_true")
    args = parser.parse_args()
    
    app = create_app()
    
    if args.profile:
        from flask_debugtoolbar import DebugToolbarExtension
        import flask_profiler
        app.config["flask_profiler"] = {
            "enabled": app.config["DEBUG"],
            "storage": {
                "engine": "sqlite"
            },
            "basicAuth": {
                "enabled": False,
            },
        }
        flask_profiler.init_app(app)
        app.config['DEBUG_TB_PROFILER_ENABLED'] = True
        app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = False
    
        toolbar = DebugToolbarExtension()
        toolbar.init_app(app)
        print(" * Flask profiling running at http://127.0.0.1:4000/flask-profiler/")
    
    app.run(debug=True, threaded=True, host="ifconfig로 찾은 Host IP", port=4000)

    수정 내용은 다음과 같다.

    1. 파일 맨위에 #!/usr/bin/python3 추가

    python3의 위치는 환경에 따라 다를 수도 있다. which python3 명령어로 나온 결과를 넣어주면 된다.

     

    2. app.run( ) host 인자 수정

    기본 설정된 127.0.0.1은 루프백 IP이기 때문에, 나중에 포트포워딩 작업에서 문제가 생길 수 있다.
    따라서, ifconfig로 찾은 Host IP를 입력해주는 것이 좋다. port는 그대로 사용해도 상관없다.

     

    [그림 1] CTFd 실행 - serve.py

    스크립트 수정을 마치고 serve.py를 실행하면 위 그림과 같이 CTFd 서버가 실행되는 것을 확인할 수 있다.

     


    CTFd 환경설정

    [그림 2] CTFd 초기설정

    serve.py에서 설정한 IP:Port로 접속하면 위와 같은 초기 설정 페이지를 만날 수 있다.

    • CTF Name: 대회 명 입력
    • Admin Username: 관리자 ID 입력
    • Admin Email: 관리자 Email입력 (메일 서비스를 사용하지 않을 거라면 크게 신경쓰지 않아도 된다.)
    • Admin Password: 관리자 PW 입력
    • CTF User Mode: 개인전 / 팀전 선택

    모두 설정하고 Submit버튼을 클릭하면 모든 설정이 완료된다.

    초기설정에서 입력한 Username과 Password로 Admin 로그인이 가능하며, Admin메뉴에서 CTF 환경을 조성해주면 된다.

     

    [그림 3] CTFd 메인

    'System > CTF' 카테고리의 다른 글

    [2019picoCTF] droids4  (0) 2019.10.13
    [2019picoCTF] droids3  (0) 2019.10.12
    [2019picoCTF] droids2  (1) 2019.10.12
    [2019picoCTF] droids1  (0) 2019.10.12
    [2019picoCTF] droids0  (0) 2019.10.12

    댓글

Designed by Tistory.