일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- misc
- php
- 정렬
- Network
- wargame
- Text
- Database
- 수학
- Incognito
- MySQL
- N0Named
- HackCTF
- Forensics
- CTF
- 구현
- Web
- 인코그니토
- C
- 백준
- xcz.kr
- Python
- writeup
- SuNiNaTas
- Digital Forensics
- 써니나타스
- Web Hacking
- cryptography
- 사칙연산
- 문자열
- 그리디 알고리즘
- Today
- Total
목록wargame (62)
보안을 그리다, 훈이
HackCTF MISC 분야 QRCODE(150p) 문제 풀이입니다. 'qrcode.zip' 파일 압축을 풀어주면 'qrcode.png' 이미지 파일이 추출됩니다. QR 코드를 보니 위치 검출 패턴이 이상합니다. 위치 검출 패턴의 내부 사각형이 텅 비어있네요! 검정색으로 손수 채워준 후 수정한 QR 코드를 인식해봅니다. 인식 결과. Solve!
HackCTF MISC 분야 Who am I?(100p) 문제 풀이입니다. 문제를 보니 x86 구조에서 EIP를 터뜨리는 것을 찾으라고 하네요. EIP는 명령 포인터 레지스터이며 다음에 실행해야 할 명령어가 존재하는 메모리 주소가 저장됩니다. ret = pop eip 즉, 플래그 값은 ret가 됩니다. Solve!
HackCTF MISC 분야 BF(50p) 문제 풀이입니다. 특수기호들이 괴상하게 나열되어 있습니다. 구글에 문제 이름인 BF를 검색하였더니 브레인퍽(Brainf***) 프로그래밍 언어라고 하네요. 브레인퍽 - 위키백과, 우리 모두의 백과사전 브레인퍽(Brainfuck)은 우어반 뮐러(Urban Müller)가 1993년 경에 만든 최소주의 컴퓨터 프로그래밍 언어이다. 이름에 포함된 fuck이 욕설이기 때문에, 정중한 표현을 위해서 때때로 Brainf*ck, Brainf***, 혹 ko.wikipedia.org 위키백과를 찾아보니 가장 작은 컴파일러로 구현할 수 있는 간단하면서도 튜링 완전한 프로그래밍 언어를 제작하는 것에 목적을 두고, 8개의 명령어로만 구성했다고 합니다. Brainf*** Online..
HackCTF MISC 분야 Baseball Price(50p) 문제 풀이입니다. nc ctf.j0n9hyun.xyz 9000으로 진입해서 풀어봅시다. 간단한 수학 문제입니다. 대충 계산해보면 야구배트 가격 1.05$, 야구볼 가격 0.05$가 되겠네요. 그대로 입력하면 위와 같이 플래그가 출력됩니다. Solve!
HackCTF Cryptography 분야 Classic Cipher -1(100p) 문제 풀이입니다. 'Classic_Cipher-1.zip' 파일을 압축 해제하면, 'Cipher.txt' 파일이 추출됩니다. 물음표가 맨 앞에 있는 것을 보니 문자열이 거꾸로 뒤집혀 있는 것을 유추할 수 있으며, 문제 힌트인 [::-1]에서 가리키는 바이기도 합니다. 가장 간단한 암호화 방식이라 생각되는 Caesar Cipher 방식으로 복호화해봅시다. Shift 값 7에 따라 알파벳을 변환해주면 바로 Flag를 뽑을 수 있습니다. Solve!
HackCTF Cryptography 분야 Smooth CipherText(100p) 문제 풀이입니다. 암호문의 마지막 줄에 중괄호가 존재하므로 플래그 폼이 치환 암호로 암호화되어 있다고 생각했습니다. 먼저, Caesar Cipher(시저 암호)로 복호화하고자 시도해 보았지만 모든 문자가 일정한 Shift 값을 가지고 있지 않아 정상적인 복호화가 불가능했습니다. 해당 암호문을 Cipher Identifier Online으로 분석해보니 Vigenere Cipher(비즈네르 암호)라고 나와 전용 Decoder로 복호화를 진행했습니다. Vigenere Cipher에 대한 개념은 아래 게시글을 참고하시면 됩니다😊 [관련 게시글] [Cryptography] Vigenere Cipher (비즈네르 암호) [Cryp..
HackCTF Cryptography 분야 Great Binary(50p) 문제 풀이입니다. 'hoooo.zip' 파일 압축을 풀어보면 'hoooo.txt'이 나옵니다. 문제 이름에서 알 수 있듯이, 파일을 열어보자마자 Binary 값인 것을 알 수 있습니다. Binary -> Decimal -> ASCII 순서로 변환해주는 코드를 Python으로 구현하였습니다. b = input().split() for i in b: print(chr(int(i, 2)), end='') Binary 값을 넣고 돌려보면 바로 Flag가 출력됩니다. Solve!
HackCTF Web 분야 Login(100p) 문제 풀이입니다. 문제에 링크가 주어져 있네요. 들어가봅시다. http://ctf.j0n9hyun.xyz:2024/ 로그인 폼이 있는 것을 보아 어떠한 문제일지 예상이 됩니다. 먼저, 페이지 소스코드를 봅시다.
HackCTF Forensics 분야 Terrorist(200p) 문제 풀이입니다. 'Artifact.7z' 파일을 다운로드하고 압축을 풀어주니 'mission.jpg' 파일이 추출되네요. 그러나 파일을 열 수 없습니다. 'mission.jpg' 파일의 hex 값을 보도록 합시다. 빨간색으로 표시된 부분인 '00 00 00 18 66 74 79 70 4D 34 41'은 오디오 파일 확장자인 m4a(MPEG-4 Audio)의 시그니처입니다. 따라서, 해당 파일의 확장자를 jpg에서 m4a로 변경하였습니다. 해당 오디오 파일을 들어보니 거꾸로 재생되는 것처럼 들려 audio reverser online을 사용하여 복구하였습니다. Solve!
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'에 따로 저장합니다. 그리고 Pytho..