히공

Hero CTF 2021 - h4xor 본문

write up/Hero CTF 2021

Hero CTF 2021 - h4xor

heegong 2021. 5. 6. 22:47
728x90

문제

 

 

#!/usr/bin/env python3
from os import urandom
from random import randint
from pwn import xor

input_img = open("flag.png", "rb").read()
outpout_img = open("flag.png.enc", "wb")

key = urandom(8) + bytes([randint(0, 9)])
outpout_img.write(xor(input_img, key))

xor.py의 내용이다.

 

 

 

 

from pwn import xor


with open('flag.png.enc', 'rb') as f:
    read = f.read()

png_signature = bytes.fromhex("89 50 4E 47 0D 0A 1A 0A 00")    # png 시그니처
key = bytearray()
for i in range(len(png_signature)):
    key.append(read[i]^png_signature[i])

xor_read = xor(read, key)

with open('flag.png', 'wb') as f:
    f.write(xor_read)

복호화 코드를 작성해준다.

 

 

 

 

플래그 : Hero{123_xor_321}

'write up > Hero CTF 2021' 카테고리의 다른 글

Hero CTF 2021 - Ping Pong  (3) 2021.05.06
Hero CTF 2021 - EasyAssembly  (0) 2021.05.06
Hero CTF 2021 - JNI  (0) 2021.05.06
Comments