CCE 2025 - LNG 경보센터
·
CTF/Solved
1. intro2. code 및 분석2.1. code생략2.2. 분석생략 3. 취약점 확인 및 공격 준비3.1. 취약점oob를 통한 leak 및 exit 실행 시 comment를 통한 bof, rop3.2. 공격 준비취약점을 찾는데 1시간 반을 소비하고, 익스하는데 10분 걸렸다.아무리봐도 취약점을 찾지 못해 헤메다 gas center structure에 존재하는 값을 수정할 수 있는데, 수정을 위해 입력한 값들의 size가 변수 크기보다 커서 의도치 않은 값을 출력하게된다.즉, 각 변수는 1바이트 크기였는데, 실제로 입력 가능한 값은 4바이트였다.이 중 night shift 변수 값이 매우 크면 region 변수 영역까지 침범하게 되고, region 변수의 값을 offset으로 토대로 stack에 있..
CCE2025 - pwn - artisan
·
CTF/Solved
1. intro2. code 및 분석2.1. code#include #include #include #include #include #include #include #include #define LENGTH 128volatile char flag_mem[0x50] = {0};void sandbox(){ scmp_filter_ctx ctx = seccomp_init(SCMP_ACT_KILL); if (ctx == NULL) { printf("seccomp error\n"); exit(0); } seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(nanosleep), 0)..
CCE 2025 - pwn - book
·
CTF/Solved
1. intro2. code 및 분석2.1. code생략2.2. 분석바이너리를 실행하면1. 새 글 쓰기2. 글 읽기3. 글 수정하기4. 종료의 4가지 메뉴가 있으며, 데이터는 stack에 저장된다. 3. 취약점 확인 및 공격 준비3.1. 취약점oob로 인한 bof3.2. 공격 준비첫 글은 0x100바이트 만큼 쓸 수 있으며, edit 시에는 index와 함께 0x40바이트만큼 쓸 수 있다.특히 edit 시 최대 index가 4이기 때문에 0x120 바이트만큼 쓸 수 있기에 main ret address 조작이 가능하며,read로 값을 받아들임에 따라 canary, stack, libc 값을 leak 가능하다. 4. exploitfrom pwn import *#p = process('./prob')#p ..
Dreamhack CTF Season 7 Round #14 (🌱Div2) - Platform 9½
·
CTF/Solved
보호되어 있는 글입니다.
No Hack No CTF 2025 - No.5️⃣4️⃣9️⃣
·
CTF/Solved
1. intro다른 팀원이 문제를 푼 상태에서, 커널 문제라 공부 겸 풀어본 문제.쓸데 없는 파일들은 왜이리 많이 주는건지 -_- 2. code 및 분석2.1. code#include #include #include #include SYSCALL_DEFINE2(naup, void __user *, kaddr, const char __user *, str) { char buf[8]; if ((char *)kaddr != modprobe_path) { printk(KERN_INFO "naup syscall: Invalid address!\n"); return -EPERM; } if (copy_from_user(buf, str, 8)) { print..
No Hack No CTF 2025 - Baby ROP which LemonTea wants
·
CTF/Solved
1. intro거의 다 푼 상태에서 다른 팀원이 먼저 풀었고, 그게 퍼블이었다;; 2. code 및 분석2.1. code생략2.2. 분석단순 rop이긴 한데, 가운데 canary마냥 check되는 부분이 있다. 3. 취약점 확인 및 공격 준비3.1. 취약점bof3.2. 공격 준비그냥 bof가 발생한다.다만 중간 즈음 값이 0인지 확인하는 부분이 있으며, read로 값을 받기 때문에 그냥 우회 가능하다.더불어 no pie이고, 입력값을 출력해줄 때 가운데 0 때문에 leak이 원활하지 않는데,코드 내에 syscall이 존재하기에 그냥 bss에 main 함수 주소와 /bin/sh 문자열을 쓰고,bss를 rsp로 stack pivot한 뒤 syscall 했다. 4. exploitfrom pwn import ..
GPN CTF 2025 - Note Editor
·
CTF/Solved
1. intro2. code 및 분석2.1. code#include #include #include #include #define NOTE_SIZE 1024struct Note { char* buffer; size_t size; uint32_t budget; uint32_t pos;};typedef struct Note Note;#define SCANLINE(format, args) \ ({ \ char* __scanline_line = NULL; \ size_t __scanline_length = 0; \ getline(&__scanline_line, &__scanline_length, stdin); \ sscanf(__scanline_line, for..
GPN CTF 2025 - no-nc
·
CTF/Solved
1. intro 2. code 및 분석2.1. code#include #include #include #include #include #define RAW_FLAG "GPNCTF{fake_flag}"char *FLAG = RAW_FLAG;int no(char c){ if (c == '.') return 1; if (c == '/') return 1; if (c == 'n') return 1; if (c == 'c') return 1; return 0;}char filebuf[4096] = {};int main(int argc, char **argv){ setbuf(stdin, 0); setbuf(stdout, 0);..
GPN CTF 2025 - NASA
·
CTF/Solved
1. intro 2. code 및 분석2.1. code// gcc -Og -g3 -w -fsanitize=address nasa.c -o nasa#include #include #include void win() { puts("YOU WIN!!!\n"); system("/bin/sh"); exit(0);}void provide_help(void *stack_ptr) { printf("%p\n", stack_ptr); printf("%p\n", &win);}int main(void) { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); ..
NahamCon 2025 CTF - Lost Memory
·
CTF/Solved
1. intro2. code 및 분석2.1. code생략2.2. 분석glibc 2.31 heap 문제였다.특별히 leak은 불가능하지만, 특정 주소값을 heap에 저장하는 기능이 있으며, No pie이다. 3. 취약점 확인 및 공격 준비3.1. 취약점tcache poisonning3.2. 공격 준비2.31에서는 tcache는 존재하나 double free는 bk의 값만 변조되면 가능하기 때문에 쉽게 tcache poisonning이 가능하다.아, tcache counter도 유의해야하긴 함. 특별히 leak 할 방법이 없는데, stack에 있는 특정 주소 값을 heap에 옮길 수 있는 메뉴가 있다.여기서 취약 함수의 ret이 가까이 있기에 여기로 heap을 할당하고, no pie이기에 main 함수의 ..