일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CTF
- writeup
- 인코그니토
- Forensics
- wargame
- Digital Forensics
- Python
- misc
- Incognito
- SuNiNaTas
- 써니나타스
- HackCTF
- Network
- Web Hacking
- 그리디 알고리즘
- 백준
- 사칙연산
- Database
- cryptography
- MySQL
- 문자열
- 정렬
- php
- 구현
- N0Named
- Text
- xcz.kr
- 수학
- C
- Web
- Today
- Total
목록Security (76)
보안을 그리다, 훈이
H4CKING GAME Digital Forensics 분야 Easy(100p) 문제 풀이입니다. 'easy.png'를 다운로드하고 열어봅니다. 크게 보면 회색 화면인데, 자세히 보니 QR Code 비스무리한게 보이네요. 스테가노그래피인게 뻔해서 StegSolve 툴을 돌려봤습니다. [Red plane 1] 값에서 QR Code가 깔끔하게 보이네요. Online QR Code Decoder에 해당 QR Code를 업로드해봅시다. Flag가 정상적으로 출력되네요. Solve!
이번에는 TeamH4C가 운영하는 워게임 사이트인 H4CKING GAME에서 문제를 풀어보았습니다! H4CKING GAME h4ckingga.me H4CKING GAME Digital Forensics 분야 Paint(50p) 문제 풀이입니다. 먼저, 'paint.png' 파일을 다운받아 봅시다. 위와 같이 플래그의 일부가 가려진 그림이 나오네요. 포토샵 등 이미지 편집 툴로 조작해도 되겠지만, 저는 StegSolve 툴을 사용하여 넘기다보니 [Red plane 0] 값에서 플래그를 쉽게 확인할 수 있었습니다. Solve!
HackCTF MISC 분야 DNA(200p) 문제 풀이입니다. 중괄호로 쌓여있는 것을 보니 플래그 값이 암호화되어 있는 것 같군요. 'DNA 암호화'에 대해 구글링해봅시다. DNA 암호기법은 정보 저장, 디지털 서명, 인증, 신분증 등에 활용되며, 염기 4가지 adenine(A), thymine(T), cytosine(C), guanine(G) 알파벳으로 구성된다고 합니다. 위의 DNA 코드 표를 참고하여 복호화하면, TmowOFR{e0_saap_PZ4}가 도출됩니다. 여기서 Caesar Cipher로 복호화해보니 정상적으로 Flag가 출력되었습니다. Solve!
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..
Vigenere Cipher (비즈네르 암호) 비즈네르 암호의 장점은 '빈도분석법'으로 해독이 거의 불가능하다는 사실입니다. 또한, 열쇠의 개수가 무궁무진하다는 것도 큰 장점입니다. 비즈네르 암호는 '복합 알파벳'에 속합니다. 이러한 장점으로 인해 '난공불락의 사이퍼'라는 별명이 붙게 되었습니다. 암호문 제작을 위해서는 아래의 표와 같은 이른바 '비즈네르 표'를 만들어야 합니다. 이 '비즈네르 표'는 원문 알파벳 아래에 26가지 사이퍼 알파벳이 나열되어 있습니다. 사이퍼 알파벳은 한 줄 내려갈 때마다 한 자씩 뒤로 이동하게 되며, 1번 줄은 한 칸, 2번 줄은 두 칸, 3번 줄은 세 칸씩 이동하므로 Caesar Cipher 알파벳과 동일하다고 볼 수 있습니다. 암호문 작성시, 한가지 사이퍼 알파벳만 사용..