30%는 한거같은데 도와주세요...

ssti로 config정보 릭해서 SECRET_KEY랑 AUTH_PUBLIC_KEY얻긴 했는데 그 이후로 의문입니다.

import os

from Crypto.PublicKey import RSA


def rsa_key() -> tuple[bytes, bytes]:
    key = RSA.generate(1024)
    return (
        key.public_key().exportKey(),
        key.exportKey(),
    )


basedir = os.path.abspath(os.path.dirname(__file__))


class Production:
    DEBUG = False
    SECRET_KEY = os.urandom(32)

    SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(basedir, "database.db")
    TIMEZONE = "Asia/Seoul"

    AUTH_PUBLIC_KEY, AUTH_PRIVATE_KEY = rsa_key()
    FLAG_SCHOOL = os.environ.get("FLAG_SCHOOL", "드림고등학교")


class Development:
    DEBUG = True
    SECRET_KEY = "💙"
    SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(basedir, "database.db")
    TIMEZONE = "Asia/Seoul"

    AUTH_PUBLIC_KEY, AUTH_PRIVATE_KEY = rsa_key()
    FLAG_SCHOOL = os.environ.get("FLAG_SCHOOL", "드림고등학교")

config.py보면 코드가 이런데 드림고등학교는 드림대학교 쓰려던것 같고 가장 의문인건 왜 ssti로 AUTH_PRIVATE_KEY가 릭이 안되는지... AUTH_PUBLIC_KEY랑 같이 변수로 선언된거같은데 왜 하나는 릭되고 하나는 안되는지 궁금합니다. AUTH_PRIVATE_KEY를 알아야 jwt를 건드려서 무언가 시도해볼 수 있을것같은데... AUTH_PUBLIC_KEY로만 가능하진 않을거고.. 또 SECRET_KEY는 코드상에서 안쓰는것같던데 왜있는걸까요? 페이크인걸까요? jwt만 변조해서는 될지 안될지는 잘 모르겠지만 일단 학교를 드림대학교라고 속이는데 가장 유력한게 jwt변조인것같은데 제가 잘못 접근하는걸까요? 고수님들 도와주세요...ㅠㅠ

#web
작성자 정보
답변 1
avatar
Pocas
워게임 고인물

도커 파일을 확인해 보시면 될 거 같습니다.

2021.10.10. 20:38
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기