반응형

CTF 604

[D^3CTF] d3readfile - MISC / locate

쉬울거라고 생각했는데 생각보다 좀 어려웠던 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 어떤 파일이든 읽을 수 있기에 플래그도 읽을 수 있다... 의미심장하다. 문제 소스파일은 따로 주어지지 않고 웹 페이지 주소만 주어진다. 주어진 주소로 들어가보면 File Request 라는 문구와 함께 뭔가 입력할 수 있는 창이 있다. 입력창에 /etc/passwd 를 입력해봤더니 /etc/passwd 파일의 내용이 출력되는것을 볼 수 있다. 입력창을 통해 서버에 있는 파일을 가져와 읽을 수 있다는 것이다. 문제는 플래그가 들어있는 파일명이 무엇인지 모른다는 것이다. 이것저것 파일을 불러와서 읽어보다가 /proc/1/environ 파일을 불러와 읽어봤다. 해..

CTF/MISC 2023.05.27

[Root Me] EXIF - Thumbnail - 포렌식 / Forensically / HxD

정말 오랜만에 업로드 해보는 Root Me문제 JPG 파일과 관련된 스테가노그래피 문제이다. JPG 파일에서 숨겨진 비밀번호를 찾으면 된다. 문제에서 주어지는것인 이 파일이다. 디카프리오가 나오는 사진인데 HxD 로 파일을 열어보면 이렇게 나온다. JPG 파일의 시그니처인 FF D8 FF E0 가 맨 앞에 나오고, 잠시 뒤에 다시한번 시그니처인 FF D8 FF E0 가 나온 뒤 그뒤에 We need to go deeper 라는 문장이 나온다. 저 부분이 썸네일 부분이다. 두번째 FF D8 FF E0 부터 파일의 맨 끝까지 복사한 뒤, 새로만들기에 붙혀넣기 해서 JPG 파일로 저장해주면 썸네일이 추출되면서 그 안에 있는 플래그를 찾을 수 있다. 온라인으로도 풀 수 있다. Forensically 라는 사이트..

워게임/Root Me 2023.05.26

[angstromCTF] Physics HW - MISC / Zsteg

간단한 png 파일 스테가노그래피 문제 스테가노그래피는 데이터를 은폐하는 기술을 말한다. 사진파일이나 음악파일 등에 비밀데이터를 숨겨서 전송하는데 사용한다. 포렌식 느낌이지만 MISC 에 분류되어 있었다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제에서 제공되는 physics_hw.png 파일은 이렇게 생겼다. 정말 말 그대로 물리 숙제 사진이다. 하얀 배경이라 잘 안보이지만 아래쪽을 보면 뭔가 비어있는 공간이 보인다. 처음엔 여기에 데이터를 숨겨놓은줄 알고 한참 찾았는데 여긴 아니었다. 예전에 유사한 문제를 두번정도 포스팅 한 적이 있었는데 스테가노그래피 문제에서 PNG나 BMP 파일이 주어질 경우 유용하게 쓸 수 있는게 zsteg 라는 도구가 있다. ..

CTF/MISC 2023.05.25

[angstromCTF] impossible - 암호학 / Python

암호학 두번째 문제 문제를 어이없게 풀어버려서 제대로된 풀이가 아니다. 서버에 원격접속할 수 있는 주소와 서버에서 돌아가고 있는 파이썬 코드가 주어진다. #!/usr/local/bin/python def fake_psi(a, b): return [i for i in a if i in b] def zero_encoding(x, n): ret = [] for i in range(n): if (x & 1) == 0: ret.append(x | 1) x >>= 1 return ret def one_encoding(x, n): ret = [] for i in range(n): if x & 1: ret.append(x) x >>= 1 return ret print("Supply positive x and y suc..

CTF/암호학 2023.05.24

[angstromCTF] ranch - 암호학 / Python / 카이사르암호

이번 CTF 에서 암호학 1번으로 나온 문제이다. 문제 설명에서 볼 수 있듯이 Caesar 암호를 응용한 문제이다. Caesar는 '카이사르' 라고도 읽힌다. 들어본 사람도 있겠지만, 카이사르는 로마의 황제 이름이다. 카이사르는 동맹군들과 소통해기 위해서 위 그림처럼 알파벳을 몇칸 씩 뒤로 옮겨 새로운 글자로 암호문을 만들었는데 이게 바로 카이사르 암호이다. 예를들어 Apple 라는 단어가 있다면, 이것을 한칸씩 알파벳을 뒤로 옮겨서 Bqqmf 라는 암호를 만드는 것이다. import string f = open("flag.txt").read() encrypted = "" shift = int(open("secret_shift.txt").read().strip()) for i in f: if i in s..

CTF/암호학 2023.05.23

[angstromCTF] zaza - 리버싱 / IDA

간단한 리버싱 문제 제목이 ZAZA 인데 문제를 풀어보고 문제 낸 사람이 혹시 한국사람이 아닐까 생각했다. 원격으로 접속할 수 있는 주소와 바이너리 파일이 함께 주어진다. 바로 IDA라는 디스어셈블러를 이용해 열어봤다. 정의된 함수는 main, xor_, win 세 가지가 있다는 것을 알아냈다. main 함수의 수도코드를 보니 세가지 정도 검증 과정을 거친다는것을 알 수 있었다. 먼저 I'm going to sleep. Count me some sheep: 가 출력되면서 사용자 입력을 받는다. 사용자의 입력값은 v5에 저장되고, 그 값이 4919 인지 확인한다. 맞으면 다음으로 넘어간다. 다음으로 Nice, now reset it. Bet you can't: 가 출력되면서 사용자 입력을 받는다. 이번엔 ..

CTF/리버싱 2023.05.22

[angstromCTF] Simon Says - MISC / Python

간단한 코딩테스트 느낌의 MISC 문제였다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제에서는 nc 로 접속할 수 있는 원격 서버 주소가 제공된다. 접속해보니 wombat 의 앞 세글자와 dragon 의 뒤 세글자를 합한 말이 뭐냐고 한다. 뭔소린가 싶어서 일단 avc 라고 아무거나 쳐봤는데 바로 에러가 나면서 세션이 종료되었다. 다시 들어가보니 이번엔 bear 의 앞 세글자, dragon 의 뒤 세글자를 합하라고 한다. 매번 실행할 때마다 등장하는 동물이 바뀌는가 보다. 한번 쳐볼려고 be 까지쳤는데 타임아웃이 걸려있는지 세션이 종료되었다. 이번엔 pwntool 을 이용해서 파이썬으로 코딩을 해서 실행해봤다. 코드는 마지막에 첨부한다. 출력되는 문자열에..

CTF/MISC 2023.05.18

[angstromCTF] shortcircuit - 웹해킹 / Javascript

아주 간단한 웹해킹 문제이다. 문제페이지 주소만 주어진다. 문제페이지에 접속하면 이렇게 username, password 를 입력하는 칸이 있다. F12를 눌러 개발자도구를 열어 자바스크립트 코드를 보면 username 에는 admin 이 들어가야하고, password 에 들어간 값이 chunk, swap 연산을 거쳐 7e08250c4aaa9ed206fd7c9e398e2}actf{cl1ent_s1de_sucks_544e67e6317199e454f4d2bdb04d9e419ccc7f12024523398ee02fe7517fffa9251 이런 결과값이 나와야 한다. 결과값을 자세히 보면 actf{} 가 보이고, 함수 이름이 swap 인걸로 보아 뭔가 입력값을 잘라서 순서를 바꿔놓은것 처럼 보였다. 개발자도구의 ..

CTF/웹해킹 2023.05.17

[angstromCTF] directory - 웹해킹 / Dirbuster

Dirbuster 를 사용해서 풀 수 있는 간단한 웹해킹 문제이다. 문제 다 풀어놓고 보니 문제페이지를 캡쳐를 못떴다. 문제페이지에 접속하면 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10 ... 이렇게 링크가 쭉 나열되어 있다. 1부터 4999 까지 있었던걸로 기억하는데 이중에 단 하나가 플래그가 적힌 페이지이다. 나머지 페이지들을 들어가면 아무것도 없다는 메세지가 나온다. 시도해볼 경우의 수가 5000개 밖에 없으니 Dirbuster 라는 도구를 사용해보기로 했다. Dirbuster 는 칼리 리눅스에 내장되어 있다. 이렇게 검색하면 바로 찾을 수 있다. Dirbuster 에서 이렇게 설정하면 된다. Target URL 을 넣어주고 Char set 는 숫자만 필요하니 0-9 로 지정해준다. 길이..

CTF/웹해킹 2023.05.16

[angstromCTF] Celeste Tunneling Association - 웹해킹 / Burp Suite

간단한 웹해킹 문제이다. 문제페이지 주소와 소스코드가 주어진다. 문제페이지에 접속하면 까만 화면에 이렇게 하얀 글씨가 써있다. 이거 외엔 별다른 기능이 없어서 소스코드를 바로 열어봤다. # run via `uvicorn app:app --port 6000` import os SECRET_SITE = b"flag.local" FLAG = os.environ['FLAG'] async def app(scope, receive, send): assert scope['type'] == 'http' headers = scope['headers'] await send({ 'type': 'http.response.start', 'status': 200, 'headers': [ [b'content-type', b'tex..

CTF/웹해킹 2023.05.15
반응형