일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 문자열
- Web Hacking
- misc
- C
- MySQL
- php
- 인코그니토
- 백준
- Database
- 수학
- 구현
- Python
- writeup
- Forensics
- 사칙연산
- wargame
- Web
- N0Named
- SuNiNaTas
- Text
- Network
- CTF
- 정렬
- Digital Forensics
- HackCTF
- Incognito
- 써니나타스
- xcz.kr
- 그리디 알고리즘
- cryptography
- Today
- Total
목록Security (76)
보안을 그리다, 훈이
N0Named Wargame Forensics 분야 첫 번째 문제인 MagicIMAGE(5p)에 대한 Write Up입니다. 'mandu.png' 파일을 다운로드하고 실행해보니 '파일을 열 수 없습니다.'라는 경고창이 나온다. 먼저, 해당 파일의 hex 값을 살펴보자. PNG 확장자를 가진 이미지 파일은 헤더 시그니처 값으로 '89 50 4E 47 0D 0A 1A 0A'를 가져야 하는데, 위 그림을 보면 다른 값을 가지고 있다. 따라서, 헤더 시그니처 값을 알맞게 수정해주고 저장하면 정상적인 이미지가 출력된다. Flag : NND{magic_number_png}
스테가노그래피(Steganography)란? 전달하려는 기밀 정보를 JPEG, PNG, GIF, BMP 등의 이미지 파일이나 MP3 파일 등에 숨기는 심층암호 기법을 말한다. 이미지 파일을 활용한 스테가노그래피 기법 1 - 삽입 JPEG, PNG, GIF 등의 파일에는 파일의 끝을 알리는 푸터 시그니처 즉, EOI(End Of Image) byte가 존재한다. EOI byte 뒤에 어떠한 값을 삽입하더라도 실제 파일을 열어보면 삽입된 데이터가 무시된 채 이미지가 출력된다. 즉, 원본 이미지 파일과 조작된 이미지 파일을 비교해보아도 차이가 나지 않는다. 따라서 EOI byte 뒤에 데이터를 숨길 수 있다. 예시) JPEG 파일의 EOI byte 'FF D9' 뒤에 전달하려는 기밀 정보를 숨길 수 있다. 또..
HackCTF Web 분야 마법봉(100p) 문제 풀이입니다. 제시된 링크로 접속해봅시다. 해쉬에 마법을 부여하면 뚫린다고 아주 친절하게 명시해 주었네요. 이는 PHP에 존재하는 Hash Magic Vulnerability에 대한 문제임을 유추할 수 있습니다. PHP Magic Hash Vulnerability는 PHP에서 == 연산자로 비교 시, 문자열의 형식이 ^0+e\d*$로 되어있을 때 이를 숫자형 데이터와 비교하게 되면 0으로 인식하게 되는 현상을 이용한 것인데 0의 n제곱은 항상 0이기 때문에 취약점이 발생하게 됩니다. 이전에 풀었던 인코그니토 문제와 같은 유형이네요! 자세한 풀이는 아래 링크를 참조하면 좋을 것 같습니다 :) [2021 INCOGNITO CTF writeup] Web - Do..
써니나타스(SuNiNaTaS) Forensics 분야 26번 문제 풀이입니다. Game 26 szqkagczvcvyabpsyincgozdainvscbnivpnzvbpnyfkqhzmmpcqhzygzgfcxznvvzgdfnvbpnjyifxmpcqhzygbpnoyaimygbzgngbvmpcqhzygcbpinnbzqndicgxhiztozgcfmpcqhzygbpnjyifxeagzyimpcqhzygbpneagzyidicgxhiztozgcfmpcqhzygcgxcoyaibzqnvyabpsyincggcbzygcfmpcqhzygszqzvbpnozivbvyabpsy suninatas.com 문제를 보니 빈도분석(Frequency Analysis)이라고 명시되어 있습니다. 통계에 따르면, 평문 문자의 출현빈도는 특정 문자에 ..
써니나타스(SuNiNaTaS) Forensics 분야 28번 문제를 풀어보았습니다. Game 28 않을까 걱정하다가 시름시름 앓고 있다는 전설이 있다. suninatas.com 매우 쉬운 문제라고 어필하고 있으며, '암호가 있기나 한건가!'라는 의미심장한 문구가 있는 것을 보아 Zip File Format의 Flags 필드 관련 문제라는 것을 유추할 수 있네요. 이전에 풀었던 HackCTF의 Secret Document 문제와 유사합니다. [Forensics] HackCTF Secret Document(150p) Write Up [Forensics] HackCTF Secret Document(150p) Write Up HackCTF Forensics 분야 Secret Document(150p) 문제 풀이..
HackCTF Forensics 분야 잔상(250p) 문제 풀이입니다. 먼저, 'compare.zip' 파일을 다운로드하고 압축을 해제합니다. 위와 같이 대성마이맥 수학 영역 대표강사 한석원님이 우아한 자태를 뽐내는 사진이 두 장이 나오네요. 왼쪽 사진은 'afterimage_1.jpeg', 오른쪽 사진은 'afterimage_2.jpeg'입니다. 사진상으로 보면 아무런 차이가 없어 보이고 binwalk를 돌려도 나오는게 없네요. 일단, 파일 이름이 'afterimage'인 것을 보아 jpeg 푸터 시그니처인 'FF D9' 뒤에 어떠한 단서들이 숨겨져 있을 것 같네요. Hex Viewer로 까봅시다. 각각의 무수히 많은 값들을 일일이 비교하기에는 무리가 있어보여 jpeg 푸터 시그니처 이후의 hex 값을..
HackCTF Cryptography 분야 Classic Cipher -3(200p) 문제 풀이입니다. 'Classic_Cipher-3.zip' 파일을 다운로드하고 압축을 해제하면 'Cipher.txt' 파일이 나옵니다. 중괄호가 있는 것을 보아 flag를 암호화한 값인 것을 알 수 있습니다. 아핀 암호(Affine Cipher) 방식으로 복호화하면 flag가 추출됩니다. [Affine Cipher - Online Decoder] Affine Cipher - Online Decryption, Decoder, Encoder, Calculator Tool to decrypt/encrypt with Affine cipher, an encryption function with additions and multi..
HackCTF Cryptography 분야 Classic Cipher -2(150p) 문제 풀이입니다. 'Classic_Cipher-2.zip' 파일을 다운로드하고 압축을 풀어보니 '문제.txt' 파일이 나오네요. 이 문제는 단순 전치 암호(simple transposition cipher)이며, key 값은 'python'이라고 하네요. 세 번째 줄에 암호문 'hreCp1_ev_s117nr_ys17eer132n_5'이 있습니다. 먼저, key 값인 'python'이 6글자이므로 암호문의 문자들을 6열짜리 표에 하나씩 나열합니다. 다시 key 값으로 돌아가서, 'python'을 알파벳 사전순으로 번호를 매기면 4-6-5-1-3-2가 되죠. 앞서 만들어둔 6열짜리 표에서 행은 그대로 두고 열을 번호 순서대..
H4CKING GAME Digital Forensics 분야 CODE(150p) 문제 풀이입니다. 먼저, 'code.bmp' 파일을 다운로드하고 열어봅시다. 바코드 형태와 유사한 이미지가 나오네요. 우선 Online Barcode Reader에 넣어봤습니다. 바코드를 찾을 수 없다고 나오는 것을 보아 바코드가 아닌 모양입니다. 일반적인 바코드 형태를 가진 위 그림과 'code.bmp' 이미지를 비교해보니, 'code.bmp' 하단부에 점 같은게 두 줄 더 있네요. 일단 바코드는 확실히 아닌 것 같습니다. 'code.bmp' 이미지를 다시 보니 느낌상 긴 줄이 존재하면 1, 존재하지 않으면(점이 존재하면) 0을 의미하는 것 같았습니다. 또한, 맨 아래의 점이 8개의 줄(점)마다 주기적으로 나와있는 것을 보..
H4CKING GAME Digital Forensics 분야 cat(120p) 문제 풀이입니다. 먼저, 'cat.jpg'를 다운로드하고 열어봅시다. 귀여운 치즈냥이 사진이네요. Hex editor로 'cat.jpg'의 hex 값을 뒤져봅시다. Jpeg 확장자의 Footer Signature인 'FF D9'를 검색해보니 뒤에 이상한 값이 더 있네요. 이상한 값에 대하여 Hex to String 해봅시다. Flag가 정상적으로 출력되네요. Solve!