1. 개요
이미지 연산 문제
대회때는 못풀었고 제목도 기억 안납니다., 고양이 사진 가지고 있어서 cat이라고 부르겠습니다.
2. 분석
1) 이미지 검색
408*612 크기의 png 사진을 주는데 아무것도 없습니다.
discord에서 누가 힌트줘서 알게되었는데 구글 이미지서치로 저것과 비율이 같은 사진을 찾습니다.
이곳의 사진과 딱 비율이 맞습니다.
사진을 다운받고 맥북의 미리보기 앱으로 가로를 408로 변경하면, 세로가 612로 딱 맞습니다.
2) XOR
stegsolve로 문제에서 주어진 파일을 엽니다.
그다음 Image Combiner를 누르고, 구글 이미지 검색으로 다운받은 사진을 넣어줍니다.
subtract 연산을 했을때 고양이 왼쪽에 세로로 flag같은것이 보입니다.
여기서 한번더 검사하면 flag가 보입니다.
https://stegonline.georgeom.net/image
3) python
stegsolve 사용하지 않고 pillow로 RGB값 가져와서 subtraction 연산 수행했습니다.
from PIL import Image
a = Image.open("cat.png")
q = a.load()
a.close()
b = Image.open("cat3.jpeg")
w = b.load()
b.close()
width, height = a.size
def off_set(val):
return val if val > 0 else 255 + val
rgb_list = []
for y in range(height):
for x in range(width):
r1, g1, b1 = q[x, y]
r2, g2, b2 = w[x, y]
r, g, b = r1 - r2, g1 - g2, b1 - b2
r, g, b = off_set(r), off_set(g), off_set(b)
rgb_list.append((r, g, b))
result = Image.new("RGB", (width, height))
result.putdata(rgb_list)
result.save("sub.png", "PNG")
'CTF' 카테고리의 다른 글
[shell ctf 2022] World's Greatest Detective (0) | 2022.08.15 |
---|---|
[shell ctf 2022] Extractor (0) | 2022.08.15 |
[nullcon Goa HackIM CTF 2022] - i love browsers (0) | 2022.08.15 |
[shell ctf 2022] MALBORNE (0) | 2022.08.14 |
[shell ctf 2022] Tring Tring.... (0) | 2022.08.14 |