본문 바로가기
H4CKING GAME

[DigitalForensic] with CTF - ROX

by skyepodium 2022. 8. 15.

1. 개요

XOR 문제

 

2. 분석

이런 코드를 주는데 known_plaintext 부분은 길이 5자이고, flag 포맷을 생각했을때 H4CGM 입니다.

Message = b"\x2d\x5a\x29\x28\x34\x1e\x16\x05\x1d\x26\x17\x01\x12\x30\x01\x0a\x1c\x35\x1d\x16\x1d\x13"

known_plaintext = "?????"
print('-----*-----*-----*-----*-----')
Mlen = len(Message)
Klen = len(known_plaintext)
result = ""

for i in range(Mlen):
    result += chr(Message[i] ^ ord(known_plaintext[i%Klen]))
print(result)

 

XOR 연산은 다음과 같은 특징을 가지기 때문에

a ^ b == c
c ^ a == b
c ^ b == a

 

H4CGM 넣어서 생긴 문자열의 앞부분 5글자를 잘라서 known_plaintext 에 넣으면 flag를 얻습니다.

'H4CKING GAME' 카테고리의 다른 글

[H4CKING GAME] - PHP LFI  (0) 2022.08.15
[H4CKING GAME] - CODE  (0) 2022.08.15
[H4CKING GAME] - Paint  (0) 2022.08.07
[H4CKING GAME] - Qualification  (0) 2022.08.07
[H4CKING GAME] - cat  (0) 2022.08.07