HackCTF Forensics Writeup (나는 해귀다)
문제
문제파일을 다운받자.
풀이
압축파일을 다운받아 압축을 풀면 다음과 같은 사진을 준다.
자막을 보면 오 헥스값을 완전 뒤집어 놓으셨댄다. 헥스 에디터로 열어보자.
헥스 에디터로 열고나서 파일을 찬찬히 보면 89 50 4E 47 부터 png파일의 헤더 시그니처가 존재하고 그 후에 49 45 4E 44 AE 42 60 82 까지 푸터 시그니처까지 제대로 존재하는 것을 확인할 수 있다.
이제 문제는 그 다음인데 png 파일의 푸터 시그니처인 49 45 4E 44 AE 42 60 82 가 거꾸로 들어가 있는 모습을 볼 수 있다.
그리고 맨 밑을 보자 png 파일의 헤더 시그니처인 89 50 4E 47 0D 1A 0A 00 이 거꾸로 들어가 있는 것을 확인할 수 있다.
부가적으로 png 파일의 chunk들인 IHDR, sRGB, gAMA, pHYs 등 모두 거꾸로 데이터가 입력되어 있는것을 보아 이를 바로 잡아주면 새로운 png 사진 파일 하나를 획득할 수 있다는 것을 알 수 있다.
소스 코드
필자의 경우 파이썬으로 코딩하였으며 소스 코드는 다음과 같다.
data = "거꾸로 뒤집을 헥스값"
data1 = data.split(' ')
print(''.join(data[::-1]))
이렇게 하여 나온 헥스값을 다시 파일로 만들어주면 png파일이 나온다.
플래그 마저 뒤집어 놓으셨다.