simple-operation (xor 연산 이용) + 어셈블리 단 파일 입출력 정리 + 문자열 뒤집기
·
dreamhack/Beginner
from pwn import *# 1. 서버 연결 (접속 정보 입력)p = remote('host3.dreamhack.games', 12345)# 2. 서버가 출력한 랜덤값 파싱p.recvuntil(b'Random number: ')random_val = int(p.recvline().decode().strip(), 16)# 3. 목표값과 XOR 연산 (7d1c4b0a 가 핵심!)target = 0x7d1c4b0aanswer = target ^ random_val# 4. 결과 전송 (10진수 문자열로 전송)p.sendlineafter(b'Input? ', str(answer).encode())# 5. 플래그 획득p.interactive() + 파일 입출력 추가 정리 + 문자열 뒤집기 부분 정리
[ 아키텍처별 레지스터 및 OS 호출 규약 ]
·
dreamhack/Beginner
rev-basic-0 (Ghidra 및 x64dbg를 활용한 기초 리버싱 분석)
·
dreamhack/Beginner
Ghidra 분석 (정적 분석) 1. 프로그램의 시작점: Entry Point 2. FUN_1400013e8 (환경 설정 및 데이터 보존)※ 함수 분석 상세 -> 더보기 ************************************************************* * FUNCTION ************************************************************* u..
shell_basic
·
dreamhack/Beginner
// Compile: gcc -o shell_basic shell_basic.c -lseccomp// apt install seccomp libseccomp-dev#include #include #include #include #include #include #include #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);}void init() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(10);}void banned_exe..
baby-bof
·
dreamhack/Beginner
// gcc -o baby-bof baby-bof.c -fno-stack-protector -no-pie#include #include #include #include #include #include #include void proc_init (){ setvbuf (stdin, 0, 2, 0); setvbuf (stdout, 0, 2, 0); setvbuf (stderr, 0, 2, 0);}void win () { char flag[100] = {0,}; int fd; puts ("You mustn't be here! It's a vulnerability!"); fd = open ("./flag", O_RDONLY); read(fd, flag, 0x60); puts(flag); exit(..
bof
·
dreamhack/Beginner
1. 핵심 개념: 스택 버퍼 오버플로우 (Stack Buffer Overflow) 프로그램이 데이터를 저장하기 위해 사용하는 스택(Stack) 메모리는 아래로 쌓이는 구조입니다. 함수가 실행될 때 생기는 공간인 '스택 프레임'의 구조를 이해하는 것이 해킹의 시작입니다.버퍼(Buffer): 입력 데이터가 담기는 바구니. (예: buf)SFP (Saved Frame Pointer): 이전 함수의 기준 주소를 저장하는 8바이트 공간.RET (Return Address): 가장 중요한 타겟. 함수가 끝난 후 "어디로 돌아가서 다음 코드를 실행할지" 적혀 있는 이정표입니다. 이 값을 바꾸면 프로그램의 흐름을 조작할 수 있습니다.2. 분석 도구 활용법 (Reconnaissance)① checksec: 방어 기법 확..
addition-quiz (파이썬 자동화 문제)
·
dreamhack/Beginner
문제 파일 // Name: chall.c// Compile Option: gcc chall.c -o chall -fno-stack-protector#include #include #include #include #include #include #define FLAG_SIZE 0x45void alarm_handler() { puts("TIME OUT"); exit(1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler);}int main(void) { int fd; char *flag; initialize..
-->
loading