전체 글
-
Dreamhack - video_in_videowargame/Dreamhack 2024. 5. 7. 23:54
[LEVEL 3 - video_in_video - forensics] 문제 파일을 다운로드 받으면 video_in_video.jpg 파일이 들어있다.문제 이름을 통해 일단 비디오 안에 비디오가 있을 것으로 추정된다. 이 파일을 HxD로 열어보면 jpg 파일의 헤더 시그니처를 확인할 수 있고, 푸터 시그니처도 확인할 수 있다.그런데 푸터 뒤에 수상해 보이는 값들이 많이 있다. 푸터 뒤부터를 새로운 mp4파일로 만들어 저장한다. 그러면 위와 같이 어떤 동영상 하나를 볼 수 있는데 플래그가 나오진 않는다.여기서 mp4 파일 구조에 대한 공부를 먼저 하고 나서 문제를 다시 풀었다. 박스(box)란?파일의 기본 단위로 크기, 타입, 데이터를 가짐크기는 크기와 타입 필드를 포함한..
-
-
Dreamhack - BMP Recoverywargame/Dreamhack 2024. 5. 1. 23:45
[LEVEL 2 - BMP Recovery - misc, forensics] 문제 설명에 BMP 파일의 중요한 값들을 지워버려서 flag.bmp를 올바르게 복구해야 한다고 되어있다.문제 파일을 다운로드 받으면 chal.py 파일과 flag.bmp.broken 파일이 들어있다. 일단 flag.bmp.broken 복제본을 생성해놓고 복제본으로 문제를 풀었다. 위 캡처 사진은 문제파일에 있던 chal.py 파일이다. 커서가 하나 전으로 되어있어서 파일의 맨 끝 오프셋은 DA58F6이다. 초기 파일의 모습이다. 18 00 부분 오프셋 빼고 나머지는 다 날아간듯하다.이 부분에서 알 수 있는 건 1픽셀당 24비트(3바이트)로 표현된다는 것이다. bmp 파일의 헤더 시그니처(BM)인 42..
-
Dreamhack - sleepingsharkwargame/Dreamhack 2024. 5. 1. 23:17
[LEVEL 2 - sleepingshark - forensics] 문제 설명은 Do shark sleep? 가 끝이다. 문제 파일 다운로드 받으면 dump.pcap 파일이 들어있다.wireshark로 열어주면 아래와 같이 나온다. SELECT문 있는 요청 부분을 눌러보면 위와 같이 나오는데, 이 문자열을 복사해서 dreamhack cyberchef에서 Url decode를 시켜보면 flag값이 맞으면 3초동안 잠드는 것으로 예측할 수 있다. (즉, Time Based SQL Injection을 하는 페이로드임) 양이 너무 많아서 노가다로 푸는 것은 힘들 것 같았다. 그래서 일단 첫 번째로 3초 잠드는 구간을 찾아본다.위 캡처 사진에서 619번과 623번 패킷의 time을 보면 4.7초대에..
-
-
-
인프런 _ 컴퓨터 구조, 네트워크 기본 개념 정리study/Network 2024. 3. 26. 03:52
Section 0. 컴퓨터 구조 컴퓨터구조 -CPU(중앙처리장치) : 컴퓨터의 두뇌. ALU(산술논리연산장치) - 산술/논리 섹션 메모리 또는 저장 장치 - 데이터 및 중간 결과 저장. 필요할 때 컴퓨터의 다른 장치에 정보 제공. 내부 저장 장치, 주메모리, 기본 저장소 또는 RAM(Random Access Memory)이라고 부름 제어 장치 - 컴퓨터의 모든 부분의 작동 제어, But 실제 데이터 처리 작업 수행X. 데이터 및 명령 전송 제어. 모든 장치를 관리하고 조정. 메모리에서 명령을 받아 해석하고 컴퓨터 작동을 지시. 저장소의 데이터나 결과를 전송하기 위해 입출력 장치와 통신. 데이터를 처리하거나 저장X. -메모리 : 데이터와 명령을 저장하는 데 사용 -입/출력 장치 : 키보드, 마우스, 모니터..
-
Dreamhack - web-ssrfwargame/Dreamhack 2024. 3. 26. 01:13
[LEVEL 2 - web-ssrf - web] 이 문제의 목표는 SSRF 취약점을 통해 플래그를 획득하는 것이다. flask로 작성된 image viewer 서비스이며, 플래그는 /app/flag.txt에 있다고 한다. 우선 문제 파일을 다운로드 받고 app.py 코드를 살펴본다. /img_viewer은 GET과 POST 요청을 처리한다. GET : img_viewer.html을 렌더링 POST : 이용자가 입력한 url에 HTTP 요청을 보내고, 응답을 img_viewer.html의 인자로 하여 렌더링 img_viewer 함수를 보면 이용자가 POST로 전달한 url에 HTTP 요청을 보내고, 응답을 반환한다. 그런데 조건문에서 서버 주소에 "127.0.0.1", "localhost"이 포함된 URL..