문제는 사진 파일이 하나 주어진다. 9x10의 크기를 지니며, 흰색과 검정색 점으로 이루어져 있다. 8비트로 짜를 수 없고, 어떻게 해야 하나 하다가 파일 이름이 baconian이라는 것을 보고 어떤 암호가 아닌가 싶어 구글링을 해 보니 baconian 암호가 존재하였다.
a : AAAAA, b : AAAAB... 이런 식인데 상상이 냈던 암호 문제와 동일하고 hack-me에서 풀었던 문제와 같은 베이컨 암호였다.
뭐 가끔 나오긴 하지만 앞으로도 풀 일이 있을 수 있으니 이전에 만들었던 morse코드를 변경하여 작성하였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from PIL import Image
import baconian
img = Image.open('baconian.bmp')
res = list()
for x in range(img.size[0]):
tmp =""
for y in range(img.size[1]):
pixel = img.getpixel((x,y))
if pixel == (0,0,0):
tmp += "A"
else:
tmp += "B"
if len(tmp) == 5:
res.append(tmp)
tmp = ""
for ch in res:
print baconian.decrypt(ch),
# abctflovesbaconian
|
flag : abctflovesbaconian
'CTF | wargame' 카테고리의 다른 글
nullcon17 / Web 3 (curl boolean 공격, 결과를 확인할 수 없는 페이지의 시간차 공격, python shell code 전송) (0) | 2017.03.09 |
---|---|
nullcon17 / Crypto 1 (파라미터가 없는 웹페이지 공격, selenium) (0) | 2017.03.09 |
xiomara 2017 / (not) guilty boyfriend (이미지 분석, png 이미지 카빙 - Stegsolve) (0) | 2017.03.09 |
bkp 2017 / prudentialv2 (sha1 해쉬 충돌 취약점) (0) | 2017.03.09 |
3DS CTF - Santa Walks into a bar (qr코드 파싱) (0) | 2017.03.07 |