CTF3 [UWSP Pointer Overflow CTF 2023] Unquestioned and Unrestrained Write Up ๐จ๐ผ Unquestioned and Unrestrained Write Up 1. ๋ฌธ์ ์์ง ํ ์ํธ๋ฌธ ํ์ธ + ์ํธํ ๋ฐฉ์๊ณผ ํ๋ฌธ์ ์๋ ค์ฃผ์ง ์์ ์ํ์์ ์ํธ๋ฌธ๋ง์ ๋ณด๊ณ ํ๋ฌธ์ ์ ์ถํ๋ ๋ฌธ์ ++ ์ ์ผํ ํํธ๋ ๋ณดํธ์ ์ธ ์ํธํ ๋ฐฉ์์ด๋ผ๋ ๊ฒ! 2. ๊ฐ ์ํธํ ๋ฐฉ์์ ๋ฐ๋ผ ๋ณตํธํํ๊ธฐ ์ํ Python ์คํฌ๋ฆฝํธ ์์ฑ # Base64 import base64 def base64_decode(encoded_text): ใ คใ คdecoded_bytes = base64.b64decode(encoded_text) ใ คใ คdecoded_text = decoded_bytes.decode('utf-8') ใ คใ คreturn decoded_text # ์ฃผ์ด์ง ์ํธ๋ฌธ์ ๋ํด Base64 ๋์ฝ๋ฉ ์๋ ciphertext = "cG9j.. 2023. 11. 12. [CSAW CTF 2023] Baby's First Write Up ๐น Baby's First Write Up 1. ๋ฌธ์ ํ์ธ ํ ์ฒจ๋ถ ํ์ผ ๋ค์ด๋ก๋ 2. ๋ค์ด๋ฐ์ babyfirst.py ํ์ผ์ ์ด์ด ์ฝ๋ ํ์ธ #!/usr/bin/env python3 # Reversing is hard. But....not always. # # Usually, you won't have access to source. # Usually, these days, programmers are also smart enough not to include sensitive data in what they send to customers.... # # But not always.... if input("What's the password? ") == "csawctf{w3_411_star7_5om3w.. 2023. 9. 16. [Patriot CTF 2023] Python XOR Write Up ๐ฆ Python XOR Write Up 1. ๋ฌธ์ ํ์ธ ํ ์ฒจ๋ถ ํ์ผ ๋ค์ด๋ก๋ 2. ๋ค์ด๋ฐ์ XOR.py ํ์ผ์ ์ด์ด ์ฝ๋ ๋ถ์ from string import punctuation # ํน์ ๋ฌธ์(punctuation)๋ฅผ ๊ฐ์ ธ์ ์ํ๋ฒณ๊ณผ ํน์ ๋ฌธ์์ ๋ฆฌ์คํธ ์์ฑ alphabet = list(punctuation) # ์ํธ๋ฌธ data = "bHEC_T]PLKJ{MW{AdW]Y" def main(): ใ คใ ค# ๋ณตํธํ ํค ์ ์ ใ คใ คkey = ('') ใ คใ ค# ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ์ฌ ํ๋ฌธ ์ป๊ธฐ ใ คใ คdecrypted = ''.join([chr(ord(x) ^ ord(key)) for x in data]) ใ คใ ค# ๋ณตํธํ๋ ๋ฉ์์ง ์ถ๋ ฅ ใ คใ คprint(decrypted) # main ํจ์๋ฅผ ์คํํ์ฌ ๋ณตํธํ ์ํ main().. 2023. 9. 9. ์ด์ 1 ๋ค์