DreamHack

DreamHack/web

[wargame] 🌱 simple-web-request

문제정보 더보기 STEP 1~2를 거쳐 FLAG 페이지에 도달하면 플래그가 출력됩니다. 모든 단계를 통과하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다. 플래그 형식은 DH{…} 입니다. 📜 웹앱 실행 가이드 본 문제는 웹앱 프레임워크인 Flask로 작성된 웹 페이지입니다. 문제에서 접속 호스트와 포트를 제공하고 있어 url로 접속할 수 있으나, 직접 웹앱을 실행해 보고 싶은 분들을 위해 가이드를 준비했습니다. 문제에 주어진 deploy 디렉토리를 이용하면 웹앱을 실행하고 Flask 웹 서버에 접속할 수 있습니다. 방법은 다음과 같습니다. 터미널 창을 열고 deploy 디렉토리로 이동합니다. Flask가 처음이라면 pip install flask 명령어로 Flask를 ..

DreamHack/web

[wargame] ex-reg-ex

문제정보 더보기 문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다. 플래그 형식은 DH{…} 입니다. Keypoint 더보기 정규표현식 app.py 더보기 #!/usr/bin/python3 from flask import Flask, request, render_template import re app = Flask(__name__) try: FLAG = open("./flag.txt", "r").read() # flag is here! except: FLAG = "[**FLAG**]" @app.route("/", methods = ["GET", "POST"]) def index(): input_val = "" if request.m..

DreamHack/web

[wargame] Flying Chars

문제정보 더보기 날아다니는 글자들을 멈춰서 전체 문자열을 알아내세요! 플래그 형식은 DH{전체 문자열} 입니다. ❗첨부파일을 제공하지 않는 문제입니다. ❗플래그에 포함된 알파벳 중 x, s, o는 모두 소문자입니다. ❗플래그에 포함된 알파벳 중 C는 모두 대문자입니다. Keypoint 더보기 개발자도구 Source 탭 메인화면 이 문제는 동체시력을 파악하는 문제가 아니다. 일단 개발자도구를 통해 동작방식을 살펴보면 이미지 파일들을 가져오는 방식을 사용한다. 이때 개발자도구의 "Source" 탭을 사용하면 아주 편하다. source 탭을 보면 총 20개의 이미지가 있는것을 확인할 수 있고, 해당 이미의 글자들을 조합해보면 다음과 같다. const img_files = ["/static/images/10.p..

DreamHack/web

[wargame] phpreg

문제정보 더보기 php로 작성된 페이지입니다. 알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다. Step 2에서 system() 함수를 이용하여 플래그를 획득하세요. 플래그는 ../dream/flag.txt에 위치합니다. 플래그의 형식은 DH{…} 입니다. Keypoint 더보기 정규표현식 index.php 더보기 PHPreg PHPreg Step 1 Step 2 Step 1 : Open the door & Go to Step 2 !! h4 { color: rgb(84, 84, 84); } .box{ display: flex; flex-direction: column; align-items: center; justify-content: center; } .door {..

DreamHack/web

[wargame] web-ssrf 풀이

문제정보 더보기 flask로 작성된 image viewer 서비스 입니다. SSRF 취약점을 이용해 플래그를 획득하세요. 플래그는 /app/flag.txt에 있습니다. Keypoint 더보기 Hex 인코딩 && Brute Force Python 더보기 #!/usr/bin/python3 from flask import ( Flask, request, render_template ) import http.server import threading import requests import os, random, base64 from urllib.parse import urlparse app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("..

snowjeon2
'DreamHack' 카테고리의 글 목록 (4 Page)