Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Python
- N0Named
- 그리디 알고리즘
- Forensics
- SuNiNaTas
- 정렬
- 구현
- 문자열
- MySQL
- php
- cryptography
- misc
- 인코그니토
- CTF
- xcz.kr
- Digital Forensics
- HackCTF
- 사칙연산
- 백준
- Incognito
- Network
- Database
- Web Hacking
- Text
- 써니나타스
- Web
- writeup
- C
- wargame
- 수학
Archives
- Today
- Total
보안을 그리다, 훈이
[Forensics] HackCTF 나는 해귀다(150p) Write Up 본문
HackCTF Forensics 분야 나는 해귀다(150p) 문제 풀이입니다.
'waytogo.zip' 파일을 다운로드하고 압축을 풀어봅시다.
민망한 사진이 하나 나오는군요,,,, 뭐 일단.. hex 값을 뒤집어 놓으셨답니다...
'waytogo.png' 파일의 hex 값을 확인해봅시다.
png 확장자의 푸터 시그니처인 '49 45 4E 44 AE 42 60 82'를 찾아봅니다.
찾아보니, 시그니처 뒤에 딱 봐도 수상한 값들이 있네요.
'.'B.DNEI' 부분이 뭔가 낯이 익습니다.
'waytogo.png' 이미지에 적혀있던 'hex 값을 뒤집어 놓았다'는 글과 같이 png 파일의 hex 값이 완전히 뒤집혀 있네요.
뒤집힌 부분의 hex 값을 'rev_hex.txt'에 따로 저장합니다.
그리고 Python으로 코드를 짜봅시다.
f = open('/HackCTF/Forensics/나는 해귀다/rev_hex.txt')
s = f.read().replace(' ', '')
s = reversed(list(map(''.join, zip(*[iter(s)]*2))))
l = open("/HackCTF/Forensics/나는 해귀다/fix_hex.txt", 'w')
l.write(''.join(s))
l.close()
필자가 사용하는 Hex editor인 'iHex' 툴 특성상 hex 값이 8글자씩 끊어서 출력되기 때문에 공백 제거 후 두 글자씩 끊어주었습니다.
이후, reversed() 함수를 사용하여 두 글자 단위로 뒤집어 주고, 최종적으로 출력되는 값을 'fix_hex.txt' 파일에 저장하도록 했습니다.
'fix_hex.txt' 값에 png 확장자의 파일 시그니처인 '89 50 4E 47 0D 0A 1A 0A'가 있으니 확장자를 png로 지정해 줍시다.
Solve!
'Security > Wargame' 카테고리의 다른 글
[Web Hacking] HackCTF Login(100p) Write Up (0) | 2021.12.14 |
---|---|
[Forensics] HackCTF Terrorist(200p) Write Up (0) | 2021.12.14 |
[Forensics] HackCTF 세상에서 잊혀진 날 찾아줘!(150p) Write Up (0) | 2021.12.13 |
[Forensics] HackCTF Secret Document(150p) Write Up (0) | 2021.12.10 |
[Forensics] HackCTF So easy?(100p) Write Up (0) | 2021.12.10 |
Comments