본문 바로가기
728x90

전체 글79

[Dreamhack] cmd_center (LEVEL 1) DescriptionIP를 확인할 필요가 없습니다! 혹시 다른 명령어는 못쓰나요?다른 명령어를 사용했다면 플래그를 획득하세요! 풀이step 1. 문제 서버 접속일단 nc로 서버에 접속해보았다.center name을 입력하라고 나오는데,,뭐라고 입력을 해야할지 모르겠어서 코드를 확인해봤다.    printf("Center name: ");    read(0, center_name, 100);이 구간에서 사용자가 입력할 때 아무런 보호 장치가 없는걸로 보아 버퍼 오버플로우가 일어날거 같아서, offset을 계산해 cmd_ip값을 조작하면 플래그를 얻을 수 있을거 같았다. rbp-0x130 = center_name rbp-0x110 = cmd_ip 이렇게 값을 찾았고, 0x20만큼 차이가 나는 것을 확인했다... 2024. 5. 7.
[Dreamhack] simple-ssti (LEVEL 1) Description존재하지 않는 페이지 방문시 404 에러를 출력하는 서비스입니다.SSTI 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이step 1. 문제 서버 접속들어가봤더니, 이렇게 나왔다. 문제 설명에 나와있던 것처럼 404Error페이지를 통해 FLAG를 찾을 수 있을 것 같았다.404Error페이지와 밑에 robots.txt 각각 들어가봤더니  이렇게 not found 밑에 url이 동일하게 써져있는 것을 확인했다.이걸 활용하면 FLAG를 찾을 수 있을 것 같아, 코드도 한번 살펴보았더니 config를 넣으면 모든 설정들을 볼 수 있는 것을 확인했다!그래서,, url에 {{config}}를 넣어 전송했더니, flag를 얻었다. 2024. 5. 7.
PART 2 - TCP/IP [1. OSL 7 계층] 프로토콜 프로토콜 개요 - 어떻게 데이터를 보낼 것이고 데이터 포맷은 어떻게 할 것이고 등에 대한 전반적인 약속이 필요함. 프로토콜 구성 요소 - 프로토콜 = 송신자와 수신자 간에 데이터 통신을 위해 서로 간의 규약을 의미함. 프로토콜 구성 설명 구문 데이터 형식, 신호 레벨, 부호화 의미 개체의 조정, 에러 제어 정보 순서 순서 제어, 통신 속도 제어 데이터 전송 방식 - 비트 단위 전송 데이터 전송 : SDLC, HDLC 프로토콜 존재 - 바이트 단위 전송 : DDCM 프로토콜 - 문자 단위 전송: DDCM 프로토콜 - ISO 7계층 프로토콜이 대표적임. OSI 7 계층 OSI 7 계층 개요 - 7계층으로 분류해 서로 다른 네트워크 간의 통신 가능하도록 제시함. OSI 7 계.. 2024. 4. 2.
디지털포렌식 - 1-3.디지털 증거법 제3장 디지털 증거법 제1절 증거법 일반 I. 증거의 의미 - 증거의 의미: 어떤 사실을 인정하기 위한 근거로서의 정보를 전달해주는 것 - 엄격한 증거 -> 엄격한 증명 II . 증거의 분류 - 직접 증거: 별도의 추론 단계를 거치지 않고 요증사실을 인정할 수 있는 증거 (ex. 범행현장을 직접 목격한 증인의 증언) - 간접 증거: 간접사실을 증명함에 의하여 일정한 추론을 거쳐 요증사실의 증명에 이용되는 증거 (ex. 범행현장에 남아있는 지문) - 구별실익: 정황증거만으로도 그것이 요증사실에 대한 법관의 확신을 가질 수 있게 한다면 직접증거와 다를 바 X - 인증(인적증거) : 살아 있는 사람이 증거방법이 되는 것. - 물증(물적증거) 유체물이 증거방법인 경우. 물건의 존재, 상태, 내용 등이 증거되는 .. 2024. 4. 2.
[Dreamhack] rev-basic-1 (Beginner) Description 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요. 획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요. 예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banana} 풀이 step 1. 파일을 다운로드받아 디버거에 넣어 보았다. 디버거 연 김에 0,1번 문제를 이어서 풀었다. 디버거에 넣고 문자열 참조 찾기 기능에 들어가보았더니 "Input : "이라는 문자열이 있었다. 클릭해서 들어가 보았다. 쭉 읽어보니, Correct 출력 전, call 함수에 들어가보면 플래그를 얻을 수 있을 것 같아 들어갔.. 2024. 4. 2.
[Dreamhack] rev-basic-0 (Beginner) Description 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! 획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요. 예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banana} 풀이 step 1. 파일을 다운로드받아 디버거에 넣어 보았다. 문제 설명에서 correct을 출력하는 입력값을 찾으라고 하였으니, 문자열 참조 찾기 기능을 사용하여 검색해보았다. step 2. correct 검색 검색을 하였더니 바로 나왔다. 해당 위치로 넘어가서 코드를 쭉 살펴보았다. FLAG인거 같은 문자열을 발견하였다. 플래그 찾기.. 2024. 4. 2.
728x90