dreamhack19 [Dreamhack] littlevsbig Write Up โ ๏ธ littlevsbig Write Up 1. ๋ฌธ์ ํ์ธ ํ ํ์ผ ๋ค์ด๋ก๋ 2. ๋ฌธ์ ํ์ผ ์ chall.c ์คํ ํ ์ฝ๋ ๋ถ์ --> FLAG ์ถ๋ ฅ ์กฐ๊ฑด ๋ฐ๊ฒฌ // Name: chall.c // Compile Option: gcc chall.c -o chall -fno-stack-protector #include #include #include #include #include #include #define FLAG_SIZE 0x45 void alarm_handler() { ใ คใ คputs("TIME OUT"); ใ คใ คexit(-1); } void initialize() { ใ คใ คsetvbuf(stdin, NULL, _IONBF, 0); ใ คใ คsetvbuf(stdout, NULL, _IONBF, 0); ใ คใ คsi.. 2023. 11. 28. [Dreamhack] dreamhack-tools-cyberchef Write Up ๐ dreamhack-tools-cyberchef Write Up 1. ๋ฌธ์ ์ค๋ช ํ์ธ ํ ํ์ผ ๋ค์ด๋ก๋ 2. ๋ค์ด๋ฐ์ ํ์ผ ์ index.html ์ผ๋ก ์ ์ --> ์ํธ๋ฌธ๊ณผ ์ํธํ ์์ ๋ฐ๊ฒฌ # ์ํธํ ์์ : Rail Fence → Base64 → ROT13 # ๋ณตํธํ ์์ : ROT13 → Base64 → Rail Fence 3. ๋ฌธ์ ์ ๋ช ์๋ Cyberchef ์ผ๋ก ์ ์ ++ Dreamhack Cyberchef --> https://tools.dreamhack.games/cyberchef dreamhack-tools tools.dreamhack.games 4. ๋ณตํธํ ์์์ ๋ฐ๋ผ ์ํธ๋ฌธ ์ฐจ๋ก๋ก ๋ณตํธํ --> FLAG ๋ฐ๊ฒฌ # Input : EUg5MJAyYJ9fYJ5iMKqio29iVK1VL2Wl.. 2023. 11. 27. [Dreamhack CTF Season 3] ROT128 Write Up ๐ชฎ ROT128 Write Up 1. ๋ฌธ์ ์ค๋ช ํ์ธ ํ ํ์ผ ๋ค์ด๋ก๋ 2. ๋ค์ด๋ฐ์ rot128.py ํ์ผ ์คํ ํ ์ฝ๋ ๋ถ์ โ hex_list ์ด๊ธฐํ hex_list = [(hex(i)[2:].zfill(2).upper()) for i in range(256)] ์ฝ๋ ์ค๋ช range(256) 0๋ถํฐ 255๊น์ง์ ์ซ์ ์์ฑ hex(i) ์ ์ i๋ฅผ 16์ง์ ๋ฌธ์์ด๋ก ๋ณํ [2:] '0x' ์ ๊ฑฐ ๋๋จธ์ง ๋ถ๋ถ์ ๊ฐ์ ธ์ด zfill(2) ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ 2๋ก ์ค์ upper() ํด๋น ๋ด์ฉ ๋๋ฌธ์๋ก ๋ณํ โก ์๋ณธ flag.png ํ์ผ ์ฝ๊ธฐ with open('flag.png', 'rb') as f: ใ คใ คplain_s = f.read() ++ flag.png ํ์ผ์ ์ด์ง ๋ชจ๋('rb': read binary)๋ก .. 2023. 11. 26. [Dreamhack] Exercise: Welcome-Beginners ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด ๐บ Exercise: Welcome-Beginners ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด 1. ๋ฌธ์ ์ค๋ช ํ์ธ ํ ์๋ฒ ์์ฑ 2. ์์ฑํ ์๋ฒ๋ก ์ ์ํ๊ธฐ ์ , ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋ ํ ์คํ 3. ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ๊ฐ์ด "Dreamhack" ์ธ ๊ฒฝ์ฐ FLAG๋ฅผ ์ถ๋ ฅํ๋ ๋ถ๋ถ ๋ฐ๊ฒฌ char cmp_str[10] = "Dreamhack"; char inp_str[10]; printf("Enter \"Dreamhack\" : "); scanf("%9s", inp_str); if(strcmp(cmp_str, inp_str) == 0){ ใ คใ คputs("Welcome Beginners!"); ใ คใ ค// print flag ใ คใ คputs(flag); } 4. Ubuntu ๊ฐ์ํ๊ฒฝ์์ nc ๋ช ๋ น์ด๋ฅผ ํตํด ์๋ฒ ์ ์ --> "Drea.. 2023. 11. 25. [Dreamhack] ex-reg-ex ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด ๐คธโ๏ธ ex-reg-ex ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด 1. ๋ฌธ์ ์ค๋ช ํ์ธ ํ ์๋ฒ ์์ฑ 2. ์์ฑํ ์๋ฒ๋ก ์ ์ํ ๋ค ์์์ ๊ฐ ์ ๋ ฅ --> Input ๊ฐ์ด ๊ทธ๋๋ก ์ถ๋ ฅ๋จ์ ํ์ธ 3. ๋ฌธ์ ํ์ผ ๋ค์ด๋ก๋ ํ 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 re.. 2023. 11. 24. [Dreamhack] baby-linux ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด ๐คฑ baby-linux ๋๋ฆผํต ์๊ฒ์ ๋ฌธ์ ํ์ด 1. ๋ฌธ์ ์ค๋ช ํ์ธ ํ ์๋ฒ ์์ฑ 2. ์์ฑํ ์๋ฒ๋ก ์ ์ --> ls ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ํ์กดํ๋ ํ์ผ ๋ชฉ๋ก ์ถ๋ ฅ 3. cat ๋ช ๋ น์ด๋ฅผ ํตํด requirements.txt ํ์ผ ์คํ --> ๋ณ๋ค๋ฅธ ํํธ๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํจ 4. cat ๋ช ๋ น์ด๋ฅผ ํตํด hint.txt ํ์ผ ์คํ --> FLAG์ ๊ฒฝ๋ก ๋ฐ๊ฒฌ 5. ๋ค์ cat ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด hello ํ์ผ์ ์ ๊ทผ ์๋ --> No! ๋ฌธ์์ด๊ณผ ํจ๊ป ์ ๊ทผ ๊ฑฐ๋ถ echo $(cat ./dream/hack/hello/flag.txt) 6. app.py ํ์ผ์ ์ด์ด ์์ค์ฝ๋ ํ์ธ 7. app.py ์ฝ๋ ํ์ธ --> Line 13์์ 'flag' ์ฉ์ด ํํฐ๋ง ์์ ๋ฐ๊ฒฌ #!/usr/bin/env python3 import .. 2023. 11. 23. ์ด์ 1 2 3 4 ๋ค์