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 함수의 ..
BREAK THE SYNTAX CTF - HexDumper
·
CTF/Solved
서론얼마 전 우연히 드림핵 디코 채널에서 어떤 외국인을 도와줬는데,주말에 갑자기 DM으로 혹시 시간이 되면 같이 CTF를 하지 않겠냐고 연락이 왔다.주말에 큰 일정이 없어 가볍게 해 볼 생각으로 참여하게 되었고, pwnable 1 solve, misc. 0.8 solve 했다. 1. hexdumper보통은 소스코드는 잘 제공하지 않는데, 특이하게도 이 CTF는 제공해줬다.메뉴가 아래와 같이 구성되어있고, 보자마자 heap 문제라는 생각이 들었고 이를 가정하여 소스코드 분석을 했다.void menu(void) { puts("=========== DUMP MENU ==========="); puts("1) Create a new dump"); puts("2) Hexdump a dump"); ..
Dreamhack CTF Season 7 Round #9 (🚩Div1) - chain-lightning
·
CTF/Solved
보호되어 있는 글입니다.
Hackappatoi CTF '23
·
CTF/Solved
1. go2win buffer overflow 문제. static compile 되어있어서 gdb가 제대로 disassemble 하지 못하는 이상한 문제가 있었음. (나중에 알고보니 golang이라 그런거였음.) - ~ file go2win go2win: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=48JPIwuiWHqAWxDMZivh/G6kBAN3TcK1YEUaef8ap/H_z3bCAF-A6sudbCtLHg/CWiJISSpnfio3_sfcTUd, not stripped 1번 문제이니 그냥 buffer overflow라고 가정하고, flag를 읽어주는 함수 주소를 찾아봤고, gef➤ info funct..
Dreamhack CTF Season 3 Round #4 (🌱Div2) - 모든 문제
·
CTF/Solved
보호되어 있는 글입니다.