본문 바로가기

전체 글

(638)
[멀티미디어 포렌식] Find Key(moon) 문제에서 png 파일 하나를 줍니다. 열어보겠습니다. 달 사진 이외의 정보는 찾아볼 수 없습니다. binwalk 프로그램으로 분석해 보겠습니다. 문제에 숨겨진 flag.txt라는 파일을 발견하였습니다. foremost 프로그램으로 파일을 추출해 보겠습니다. 추출한 output 폴더에서 zip 폴더에 00000804.zip 압축파일이 존재합니다. 압축 파일을 풀려면 비밀번호가 필요한데, 파일의 제목인 moon이었습니다. 파일을 압축 해제하면 flag.txt가 존재하고, 이 안에 flag가 들어있습니다.
[멀티미디어 포렌식] flagception 문제에서 png 파일 하나를 줍니다. 이를 열어보겠습니다. 별다른 힌트는 없어보입니다. 플래그를 깃발에 넣었다고 하니 stegsolve 툴을 돌려보겠습니다. Red plane 1에서 이상한 부분이 발견됩니다. 정확한 분석을 위하여 그림판으로 확대해 보겠습니다. 그림판의 격자 기능을 통하여 확인해보니 바이너리 코드를 흑과 백으로 표시한 것으로 확인됩니다. white는 0, black은 1로 설정하고 바이너리 값을 추출해 보겠습니다. 01000010 01001001 01010100 01010011 01000011 01010100 01000110 01111011 01100110 00110001 01100001 01100111 01100011 00110011 01110000 01110100 00110001 00..
[멀티미디어 포렌식] black-hole 문제에서 jpg 확장자의 이미지 파일 하나를 줍니다. base64 형식으로 인코딩 된 플래그가 있다고 합니다. 플래그를 base64 형식으로 인코딩 했으므로 KEY format인 BITCTF를 base64 형식으로 인코딩해보겠습니다. QklU... 라는 문자열이 나옵니다. 이제 forensically 온라인 툴로 이미지에 담긴 flag를 찾아보겠습니다. QklU로 찾아보니 해당하는 문자열을 발견할 수 있습니다. 위 문자열을 base64로 디코딩해 보겠습니다. flag를 구할 수 있습니다.
[그리디 알고리즘] 모험가 길드 - 파이썬(python) 모험가 길드 난이도 : 下 풀이 시간 : 30분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 n = int(input()) gongpo = list(map(int, input().split())) gongpo.sort() group, count = 0, 0 for i in gongpo: count = count + 1 if i = i: # 현재 그룹에 포함된 모험가의 수가 현재의 공포도 이상이라면, 그룹 결성 result += 1 # 총 그룹의 수 증가시키기 count = 0 # 현재 그룹에 포함된 모험가의 수 초기화 print(result) # 총 그룹의 수 출력 해설 입력 n과 공포도 리스트 gongpo를 입력받습니다. 그리고 for 반복문으로 gongpo 리스트의 원소들을 하나하나 선택하고..
[멀티미디어 포렌식] Find Key(Image) 문제에서 png 파일을 하나 줍니다. 열어보겠습니다. 일반 이미지가 나오는데, 배경이 살짝 자글자글거리는 걸 확인할 수 있습니다. 분석을 위해 다운받아 windows 사진 뷰어로 보니 배경의 색이 변하였습니다. 흰색과 검은색이 불규칙하게 이어져 있는데, 아마도 흰색은 0, 검은색은 1을 나타내는 2진 코드인 것 같습니다. 01010011 = 53 00110100 = 34 01001110 = 4E 01001000 = 48 00110000 = 30 숫자가 아마 아스키코드를 의미하는 것 같으니 변환해 보니 S4NCH0라는 문자열이 나옵니다. 문제의 힌트에서 md5가 적혀있으니 S4NCH0를 md5로 변환하면 될 것 같습니다.