How to black box test the vulnerabilities in the following code? """
Django settings for securehelp project.

Generated by 'django-admin startproject' using Django 4.0.5.

For more information on this file, see
https://docs.djangoproject.com/en/4.0/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.0/ref/settings/
"""
import os
from pathlib import Path
from datetime import timedelta
import os.path

# The PRODUCTION variable decides how the static files are handeled in wsgi.py
# The variable is set to 'True' (string) when running with docker
PRODUCTION = os.getenv('PRODUCTION', False)

# Get environment variables
GROUP\_ID = os.environ.get("GROUP\_ID", "3000")
PORT\_PREFIX = os.environ.get("PORT\_PREFIX", "")
DOMAIN = os.environ.get("DOMAIN", "localhost")
PROTOCOL = os.environ.get("PROTOCOL", "http")
# Set the URL used for redirecting
# URL in local development will not find environment variables and looks like: 'http://localhost:3000' (redirect to node)
# URL in local production with docker can look like this: 'http://localhost:21190', where 190 is the GROUP\_ID
# URL in remote production with docker can look like this: 'http://molde.idi.ntnu.no:21190', where 190 is the GROUP\_ID
URL = PROTOCOL + '://' + DOMAIN + ':' + PORT\_PREFIX + GROUP\_ID

# Email configuration
# The host must be running within NTNU's VPN (vpn.ntnu.no) to allow this config
# Usage: https://docs.djangoproject.com/en/3.1/topics/email/#obtaining-an-instance-of-an-email-backend
EMAIL\_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL\_HOST = "smtp.stud.ntnu.no"
EMAIL\_USE\_TLS = False
EMAIL\_PORT = 25
DEFAULT\_FROM\_EMAIL = "tdt4237-group" + GROUP\_ID + " " + ""

# Build paths inside the project like this: BASE\_DIR / 'subdir'.
BASE\_DIR = Path(\_\_file\_\_).resolve().parent.parent

AUTH\_USER\_MODEL = "users.User"
SECRET\_KEY = 'asdkjasdasd2-gmdf18+ep^k4d4)=uf%+1h$5(p5!l3-g24xb10^%5ycj9!dp37'

DEBUG = True

ALLOWED\_HOSTS = [
 # Hosts for local development
 '127.0.0.1',
 'localhost',
 # Hosts for production
 'molde.idi.ntnu.no',
]

CORS\_ALLOWED\_ORIGINS = [
 # Allow requests from node app in development
 "http://localhost:3000",
 # Allow requests from node app in production
 "http://localhost:5000",
]
# Application definition

INSTALLED\_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'corsheaders',
 'rest\_framework',
 'apps.users',
 'apps.certifications',
 'apps.help\_requests'
]

MIDDLEWARE = [
 'django.middleware.security.SecurityMiddleware',
 'whitenoise.middleware.WhiteNoiseMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 "corsheaders.middleware.CorsMiddleware",
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware'
]

ROOT\_URLCONF = 'securehelp.urls'

TEMPLATES = [
 {
 'BACKEND': 'django.template.backends.django.DjangoTemplates',
 'DIRS': [],
 'APP\_DIRS': True,
 'OPTIONS': {
 'context\_processors': [
 'django.template.context\_processors.debug',
 'django.template.context\_processors.request',
 'django.contrib.auth.context\_processors.auth',
 'django.contrib.messages.context\_processors.messages',
 ],
 },
 },
]

WSGI\_APPLICATION = 'securehelp.wsgi.application'
# Database
# https://docs.djangoproject.com/en/4.0/ref/settings/#databases

DATABASES = {
 'default': {
 'ENGINE': 'django.db.backends.sqlite3',
 'NAME': BASE\_DIR / 'db.sqlite3',
 }
}
# Internationalization
# https://docs.djangoproject.com/en/4.0/topics/i18n/

LANGUAGE\_CODE = 'en-us'

TIME\_ZONE = 'UTC'

USE\_I18N = True

USE\_TZ = True

# Password validation
# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators
AUTH\_PASSWORD\_VALIDATORS = [
 {
 'NAME': 'django.contrib.auth.password\_validation.NumericPasswordValidator',
 },
 {
 'NAME': 'django.contrib.auth.password\_validation.CommonPasswordValidator',
 },
]
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.0/howto/static-files/

STATIC\_URL = 'static/'
STATIC\_ROOT = os.path.join(BASE\_DIR, 'static')
STATICFILES\_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

# MEDIA FILES
MEDIA\_ROOT = os.path.join(BASE\_DIR, "media")
MEDIA\_URL = "/media/"
# Default primary key field type
# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field

DEFAULT\_AUTO\_FIELD = 'django.db.models.BigAutoField'
PASSWORD\_RESET\_TIMEOUT = 3600 # Token valid for one hour

PASSWORD\_HASHERS = [
 'django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher',
]

REST\_FRAMEWORK = {
 'DEFAULT\_AUTHENTICATION\_CLASSES': (
 'rest\_framework\_simplejwt.authentication.JWTAuthentication',
 ),

 'DEFAULT\_RENDERER\_CLASSES': (
 'rest\_framework.renderers.JSONRenderer',
 )
}
SIMPLE\_JWT = {
 'ACCESS\_TOKEN\_LIFETIME': timedelta(minutes=60000),
 'REFRESH\_TOKEN\_LIFETIME': timedelta(days=1),
 'ROTATE\_REFRESH\_TOKENS': True,
}
다음 코드에서 취약점을 블랙박스 테스트하는 방법은 무엇인가요? """보안 헬프 프로젝트에 대한 장고 설정.장고 4.0.5를 사용하여 'django-admin startproject'에 의해 생성되었습니다.이 파일에 대한 자세한 내용은 다음을 참조하세요.https://docs.djangoproject.com/en/4.0/topics/settings/전체 설정 목록과 해당 값은 다음을 참조하세요.https://docs.djangoproject.com/en/4.0/ref/settings/"""import osfrom pathlib import Pathfrom datetime import timedeltaimport os.path# PRODUCTION 변수는 wsgi.py에서 정적 파일을 처리하는 방법을 결정합니다.# 이 변수는 도커로 실행할 때 'True'(문자열)로 설정됩니다.PRODUCTION = os.getenv('PRODUCTION', False)# 환경 변수 가져오기GROUP\_ID = os.environ.get("GROUP\_ID", "3000")PORT\_PREFIX = os.environ.get("PORT\_PREFIX", "")DOMAIN = os.environ.get("DOMAIN", "localhost")PROTOCOL = os.environ.get("PROTOCOL", "http")# 리디렉션에 사용되는 URL 설정# 로컬 개발의 URL은 환경 변수를 찾지 못하며 다음과 같이 보입니다: 'http://localhost:3000'(노드로 리디렉션)# 도커를 사용하는 로컬 프로덕션의 URL은 다음과 같이 보일 수 있습니다: 'http://localhost:21190', 여기서 190은 GROUP\_ID입니다.# 도커를 사용하는 원격 프로덕션의 URL은 다음과 같이 보일 수 있습니다: 'http://molde.idi.ntnu.no:21190', 여기서 190은 GROUP\_ID입니다.URL = 프로토콜 + '://' + 도메인 + ':' + 포트\_접두사 + 그룹\_ID# 이메일 구성# 이 구성을 허용하려면 호스트가 NTNU의 VPN(vpn.ntnu.no) 내에서 실행 중이어야 합니다.사용법: https://docs.djangoproject.com/en/3.1/topics/email/#obtaining-an-instance-of-an-email-backendEMAIL\_BACKEND = "django.core.mail.backends.smtp.EmailBackend"EMAIL\_HOST = "smtp.stud.ntnu.no"EMAIL\_USE\_TLS = FalseEMAIL\_PORT = 25DEFAULT\_FROM\_EMAIL = "tdt4237-group" + GROUP\_ID + " " + ""# 프로젝트 내부에 다음과 같이 경로를 빌드합니다: BASE\_DIR / 'subdir'.BASE\_DIR = Path(\_\_file\_\_).resolve().parent.parentAUTH\_USER\_MODEL = "users.User"SECRET\_KEY = 'asdkjasdasd2-gmdf18+ep^k4d4)=uf%+1h$5(p5!l3-g24xb10^%5ycj9!dp37'DEBUG = Trueallowed\_hosts = [ # 로컬 개발용 호스트 '127.0.0.1', 'localhost', # 프로덕션용 호스트 'molde.idi.ntnu.no',]cors\_allowed\_origins = [ # 개발 중인 노드 앱의 요청 허용 "http://localhost:3000", # 프로덕션 노드 앱의 요청 허용 "http://localhost:5000",]# 애플리케이션 정의installed\_apps = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', '코르헤더', 'rest\_framework', 'apps.users', 'apps.certifications', 'apps.help\_requests']미들웨어 = [ 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']ROOT\_URLCONF = 'securehelp.urls'TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP\_DIRS': True, 'OPTIONS': { 'context\_processors': [ 'django.template.context\_processors.debug', 'django.template.context\_processors.request', 'django.contrib.auth.context\_processors.auth', 'django.contrib.messages.context\_processors.messages', ], }, },]WSGI\_APPLICATION = 'securehelp.wsgi.application'# 데이터베이스# https://docs.djangoproject.com/en/4.0/ref/settings/#databasesDATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE\_DIR / 'db.sqlite3', }}# 국제화# https://docs.djangoproject.com/en/4.0/topics/i18n/LANGUAGE\_CODE = 'en-us'TIME\_ZONE = 'UTC'USE\_I18N = TrueUSE\_TZ = True# 비밀번호 유효성 검사# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validatorsauth\_password\_validators = [ { 'NAME': 'django.contrib.auth.password\_validation.NumericPasswordValidator', }, { 'NAME': 'django.contrib.auth.password\_validation.CommonPasswordValidator', },]# 정적 파일(CSS, 자바스크립트, 이미지)# https://docs.djangoproject.com/en/4.0/howto/static-files/STATIC\_URL = 'static/'STATIC\_ROOT = os.path.join(BASE\_DIR, 'static')STATICFILES\_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'# 미디어 파일MEDIA\_ROOT = os.path.join(BASE\_DIR, "media")MEDIA\_URL = "/media/"# 기본 기본 키 필드 유형https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-fieldDEFAULT\_AUTO\_FIELD = 'django.db.models.BigAutoField'PASSWORD\_RESET\_TIMEOUT = 3600 # 한 시간 동안 유효한 토큰password\_hashers = [ 'django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher',]rest\_프레임워크 = { 'default\_authentication\_classes': ( 'rest\_framework\_simplejwt.authentication.JWTAuthentication', ), 'default\_renderer\_classes': ( 'rest\_framework.ren