Yozzang의 해킹일기 💻
article thumbnail
728x90

이번 포스트에서는 CTF-D의 브리타니아의 원더랜드... 문제에 대해 다루겠다.


문제를 클릭하면 다음과 같다.

브리타니아의 원더랜드...

## 문제 해석 : 

해당 이미지 파일의 메시지를 디코딩하여 플래그를 찾으면 되는 것으로 보인다.

## 문제 풀이 : 

문제 파일을 실행해보니 다음과 같이 빨간색과 검은색으로 이루어진다는 것을 알 수 있다.

color.png

파일의 속성을 확인해보니 다음과 같이 픽셀로 이루어진 것을 알 수 있다.

속성

사진의 색이 두 가지로만 이루어진 것으로 보아 특정 데이터를 이진 코드로 변환해서 반영한 것일 수도 있다.

즉 예를 들면 검정색은 0, 빨간색은 1이라는 이진수를 뜻하는 것일 수도 있겠다는 것이다.

 

 파이썬 코드를 이용해서 이진 코드를 추출하여 아스키코드로 변환해보겠다.

### 추출 코드 :

from PIL import Image

img = Image.open("color.png")
data = img.load()
red = (255, 0, 0)

binary_datas = []
width, height = img.size

for y in range(height):
	binary_data = []
	for x in range(width):
		pixel = data[x, y]

		if pixel == red:
			binary_data.append("1")
		else:
			binary_data.append("0")

	binary_datas.append(binary_data)

flag = ''.join([chr(int(''.join(i), 2)) for i in binary_datas]) # 아스키코드로 변환

print(flag)

### 실행 결과 :

플래그 출력

### Flag : 3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra

'Wargame > CTF-D' 카테고리의 다른 글

CTF-D (내 친구는 이것이 특별한...)  (0) 2022.08.17
CTF-D (Three Thieves Threw Trumpets Through Trees)  (0) 2022.08.15
CTF-D (Find Key(moon))  (0) 2022.08.14
CTF-D (Find Key(butterfly))  (0) 2022.08.13
CTF-D (플래그를 찾아라!)  (0) 2022.08.12
profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!