[N0Named Wargame] Left Side B
SWING이라니~😊
주어진 bmp 파일에서 플래그를 찾아야 한다.
문제 이름에 힌트가 있다고 한다.
bmp 파일을 열어보면 Left Side에 B가 있다.
1. HxD
[헤더 시그니처]
bmp 파일의 헤더 시그니처 42 4D
근데 뭔가 이상하다
FF 랑 FE 가 불규칙적으로 나열되어 있다.
이미지 변조...?
그래서 이미지를 하나씩 뜯어보겠습니다
그런데 forensically로 확인해도 보이는 게 하나도 없음
... 뭘까
모르겠다
미해결...😅
+) 추가
강의자료를 다시 봤습니다
이미지 변조에 사용되는 툴이 뭐였지 찾아보다가
LSB 변조...?
그래서 찾아봤다
LSB를 1-2 씩 바꿔도 사람 눈에는 잘 안 보이기 때문에
1 차이가 나는 걸 보면 LSB 변조를 의심하라고 한다
마침 FF와 FE다
stegsolve.jar 툴을 사용하면 된다고 하는데
이게 또 자바가 필요하다는데
설치할 게 너무 많아서
나는 우선 노가다를 해보겠다
이 뒤로는 다 FF라 의미 없는 구간인 것 같아서 이만큼만 해보겠다.
(FF를 FE로 변조한 구간을 해야 하는 건가?)
LSB 변조는 비트 변조니까 2진수로 변환을 해야한다고 생각했다.
FF와 FE는 16진수니까
2진수로 나타내보면
FE = 11111110
FF = 11111111
두 수가 앞 7자리는 모두 1로 같으니까 간단하게
FE = 0
FF = 1
로 해도 될 듯하다
FE = 0
FF = 1
list=[] #리스트 생성
Hex=input().split() #Hex = 16진수
list.append(Hex) #리스트에 입력 값 삽입
for i in range(len(Hex)):
if Hex[i] == "FE":
print(FE)
elif Hex[i] == "FF":
print(FF)
16진수를 2진수로 바꾸는 코드를 작성해봤다
시범 삼아 짧게 입력해봤는데 잘 출력이 된다
FF와 FE, 1과 0의 향연이다
아무튼 16진수를 2진수로 변환했다.
근데 여기서 어떻게 해야하지
문자가 나오려면 아스키코드인가?
어라 맞네
뒷걸음질 치다가 맞춘 격
스윙에는 천재들만 있다
어렵다...
생각하고 푸는데 한참 걸렸다
아무튼 성공!!
(7/29 18:38)
'Forensics' 카테고리의 다른 글
[ctf-d] 저는 당신의 생각을 알고 있습니다. (0) | 2022.07.29 |
---|---|
[ctf-d] basics (0) | 2022.07.29 |
[N0Mamed Wargame] 길에서 주워온 만두 (0) | 2022.07.29 |
Do_you_know_HxD (0) | 2022.07.28 |
qwer (0) | 2022.07.28 |