풀이 132

[109] IT 비전공자 [dreamhack]mmapped문제 풀기

mmap은 메모리 매핑(Memory Mapping)을 수행하는 시스템 호출로, 파일이나 디바이스의 내용을 가상 메모리에 매핑하여 접근할 수 있도록 해주는 강력한 기능입니다. 이를 통해 파일 데이터를 메모리처럼 사용할 수 있습니다.mmap의 기본 개념메모리 매핑:디스크 파일의 내용을 가상 메모리 공간에 직접 매핑.파일 데이터를 읽거나 쓸 때 별도의 I/O 작업 없이 메모리를 통해 바로 접근 가능.효율성:파일 데이터를 메모리에 로드하고, 메모리 내에서 처리할 수 있으므로 속도가 빠름.대규모 파일 처리 시 유용.mmap의 동작 원리파일을 열고 메모리에 매핑:mmap 호출을 통해, 지정된 파일 디스크립터가 가상 메모리 주소로 매핑됨.이후 이 메모리 주소를 사용하여 파일 내용을 읽거나 변경 가능.페이지 단위 작업..

[108] IT 비전공자 [dreamhack]darimchal_001문제 풀기

소스코드다#include #include #include #define JOKER "\x40\x53\x06\x03\x43\x52\x54\x3b"#define KEY "023661dd4\0"#define TRUE 1#define FALSE 0#define OK 0#define ERRO -1void __print_sw_title (char *sw_name);int __is_valid_pwd (char *pwd);char *__obfuscation (char *pwd, char *key);void __create_tag (char *id);int main (int argc, char *argv[]) { if (argc != 2) { __print_sw_title(argv[0]); ret..

[108] IT 비전공자 [dreamhack]cpp_string문제 풀기

이 정보는 Ubuntu 16.04 LTS 환경에서 실행 중인 바이너리의 보안 설정과 특성을 나타냅니다. 각 항목을 분석하여 해당 바이너리의 보안 강점을 설명하겠습니다.분석1. RELRO (Relocation Read-Only)상태: Full RELRO설명: Global Offset Table(GOT)의 엔트리들을 읽기 전용으로 설정합니다.보안 이점:GOT overwrite 공격(동적 함수 호출 시 악의적인 주소로 리다이렉트)이 불가능합니다.공격 가능성:Full RELRO에서는 GOT 공격을 수행할 수 없으므로, 이 부분은 안전합니다.2. Stack Canary상태: Canary found설명: 함수 호출 시 반환 주소 바로 앞에 **스택 카나리(Stack Canary)**를 삽입하여, 스택 오버플로우로 ..

[106] IT 비전공자 [dreamhack]__environ문제 풀기

__environ은 C와 Unix 계열 운영 체제에서 **환경 변수(Environment Variables)**에 접근하기 위해 사용되는 전역 변수입니다. 이는 환경 변수를 프로세스의 메모리에서 접근할 수 있는 구조를 제공합니다.__environ의 정의 및 역할정의:__environ은 환경 변수 배열을 가리키는 전역 포인터입니다.이는 환경 변수 이름과 값을 문자열 포인터 배열 형태로 저장합니다.형식:extern char **__environ;역할:각 프로세스는 자신의 환경 변수를 가지고 있으며, 이는 메모리에 저장됩니다.환경 변수는 KEY=VALUE 형식의 문자열로 저장되며, __environ은 이를 가리킵니다.__environ와 environ의 차이점__environ:GNU C 라이브러리에서 사용되는 ..

[104] IT 비전공자 [dreamhack]Simple Patch Me문제 풀기

ttps://ah-rok.tistory.com/68 [Dream Hack - Reversing] Simple Patch me문제 해석main 함수dword_40404C 값이 0 으로 시작해서 0x2237까지 증가하면서 while문이 동작하고 있다. sleep(0xE10u) 함수를 사용하여 한번 증가할때마다 1시간씩 걸리는 것을 확인할 수 있다.두가지 방법ah-rok.tistory.comhttps://e-dl.tistory.com/28 [워게임] Simple Patch Me 풀이1. 문제 이해 우선 simple_patch_me 파일을 실행시켜서 동적분석을 하게되면 1년이 지난 후 플래그를 알려주는 프로그램이라는 것을 알 수 있다. 그러면 우리는 I will show you the flag after 1 y..

[103] IT 비전공자 [dreamhack]awesome-basics문제 풀기

보안 상태 분석주어진 바이너리(./chall)의 보안 설정은 다음과 같습니다. 각 항목을 분석하여 보안 수준과 익스플로잇 가능성을 평가합니다.보안 항목 설명 및 상태RELRO (Relocation Read-Only)상태: Full RELROGOT(Global Offset Table)이 완전히 읽기 전용으로 보호됨.GOT Overwrite 공격 불가.STACK CANARY상태: No canary found스택 카나리가 없으므로, 스택 오버플로우를 탐지하지 못함.버퍼 오버플로우를 통한 리턴 주소 덮어쓰기 가능.NX (No Execute)상태: NX disabled데이터 영역(스택, 힙)에서 코드 실행이 허용됨.셸코드 실행 가능.PIE (Position Independent Executable)상태: PIE ..

[100] IT 비전공자 [dreamhack]FFFFAAAATTT문제 풀기

부트레코드란, 컴퓨터 부팅을 시작하는 데 필요한 데이터를 유지 관리하는 데 사용되는 하드 디스크의저장소 공간 섹션이다. 일반적으로 부팅 레코드는 하드 드라이브의 첫 번째 섹터에 보관되므로시스템이 응용 프로그램을 시작하는 데 필요한 파일을 쉽게 찾고 읽고 실행할 수 있다.파일에 액세스하고 부팅을 시작하는 데 필요한 모든 코드는 마스터 부팅 레코드에 포함된다.출처 ㅣ https://not4dog.tistory.com/34                         참고 블로그https://not4dog.tistory.com/34 [CTF] Dreamhack FFFFAAAATTT 문제 Write-up문제) FIXFIXFIX! FFFAAATTT! (문제파일 다운로드에서 받지 마시고, 아래의 링크를 통해서 문제파..