본문 바로가기
CTF

[EZCTF] Bernie

by skyepodium 2022. 6. 5.

1. 개요

스테가노그래피, 문자열 변경 문제

2. 풀이

1) 확인

다음 사진을 받습니다.

2) futureboy

https://futureboy.us/stegano/decinput.html

에서 숨겨진 문자열을 추출합니다.

\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38xE\28x\32x\38x\28x\32x\38xZ\28x\32x\38x-\28x\32x\38xC\28x\32x\38x\28x\32x\38xT\28x\32x\38xF\28x\32x\38x{N\28x\32x\38xO\28x\32x\38xW\28x\32x\38x_\28x\32x\38x\28x\32x\38xY\28x\32x\38x\28x\32x\38xO\28x\32x\38xU_\28x\32x\38xS\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38xE\28x\32x\38x\28x\32x\38xE\28x\32x\38x_\28x\32x\38xM\28x\32x\38xE\28x\32x\38x\28x\32x\38x_\28x\32x\38xN\28x\32x\38xI\28x\32x\38x\28x\32x\38xC\28x\32x\38xE\28x\32x\38x}\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x

 

3) 16진수

x가 들어있어서 16진수 같지만 16진수는 x38과 같이 앞에 있어야 합니다.

파이썬으로 x를 앞으로 옮겨주었습니다.

p = "\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38xE\28x\32x\38x\28x\32x\38xZ\28x\32x\38x-\28x\32x\38xC\28x\32x\38x\28x\32x\38xT\28x\32x\38xF\28x\32x\38x{N\28x\32x\38xO\28x\32x\38xW\28x\32x\38x_\28x\32x\38x\28x\32x\38xY\28x\32x\38x\28x\32x\38xO\28x\32x\38xU_\28x\32x\38xS\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38xE\28x\32x\38x\28x\32x\38xE\28x\32x\38x_\28x\32x\38xM\28x\32x\38xE\28x\32x\38x\28x\32x\38x_\28x\32x\38xN\28x\32x\38xI\28x\32x\38x\28x\32x\38xC\28x\32x\38xE\28x\32x\38x}\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x"
p = p.replace("x", "").replace("\\", "\\x")

print(p)

이런 문자열을 얻었습니다.

�8��8�8��8�8��8�8��8E�8��8�8��8Z�8��8-�8��8C�8��8�8��8T�8��8F�8��8{N�8��8O�8��8W�8��8_�8��8�8��8Y�8��8�8��8O�8��8U_�8��8S�8��8�8��8�8��8�8��8E�8��8�8��8E�8��8_�8��8M�8��8E�8��8�8��8_�8��8N�8��8I�8��8�8��8C�8��8E�8��8}�8��8�8��8�8��8�8��8�8��8�8��8

 

4) 분석

뭔가 flag가 보이면서, 8은 필요없는 것 처럼 느껴집니다. 8도 모두 지워봅시다.

p = "\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38xE\28x\32x\38x\28x\32x\38xZ\28x\32x\38x-\28x\32x\38xC\28x\32x\38x\28x\32x\38xT\28x\32x\38xF\28x\32x\38x{N\28x\32x\38xO\28x\32x\38xW\28x\32x\38x_\28x\32x\38x\28x\32x\38xY\28x\32x\38x\28x\32x\38xO\28x\32x\38xU_\28x\32x\38xS\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38xE\28x\32x\38x\28x\32x\38xE\28x\32x\38x_\28x\32x\38xM\28x\32x\38xE\28x\32x\38x\28x\32x\38x_\28x\32x\38xN\28x\32x\38xI\28x\32x\38x\28x\32x\38xC\28x\32x\38xE\28x\32x\38x}\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x\28x\32x\38x"
p = p.replace("x", "").replace("\\", "\\x").replace("8", "")

print(p)

'CTF' 카테고리의 다른 글

[EZCTF] No kidding  (0) 2022.06.06
[EZCTF] More sense  (0) 2022.06.05
[EZCTF] Nobody's perfect  (0) 2022.06.05
[EZCTF] Neo  (0) 2022.06.05
[EZCTF] Super Secure  (0) 2022.06.05