CTF
-
[DarkCON CTF] WarmupCTF/WRITEUP 2021. 2. 25. 21:59
Orignial Writeup github.com/white-l0tus/2021_CTF/blob/main/DarkCON/Warmup/Writeup_KO.md Info 30 solves / 482 points warm up yourself and get the flag! Summary double free tcache poisoning hook overwrite File Arch : x86-64 Library : dynamically linked (libc6_2.27-3ubuntu1.2_amd64) Checksec CANARY : Enabled FORTIRY : Disabled NX : Enabled PIE : Disabled RELRO : Partial Description 전형적인 menu 형식의 문제..
-
[DarkCON CTF] Easy-ROPCTF/WRITEUP 2021. 2. 25. 19:09
Original Writeup github.com/white-l0tus/2021_CTF/blob/main/DarkCON/Easy-ROP/Writeup_KO.md Info 84 solves / 441 points Welcome to the world of pwn!!! This should be a good entry level warmup challenge !! Enjoy getting the shell Summary stack buffer overflow ret2libc ret2syscall File Arch : x86-64 Library : statically linked Checksec CANARY : Enabled FORTIRY : Disabled NX : Enabled PIE : Disabled ..
-
CTF 사이트 만드는 방법 / How to make CTF siteCTF/KNOWLEDGE 2021. 2. 12. 17:53
Background 제작 동기 CTF를 하다보면 PS와는 달리 수많은 저지 사이트가 존재하고, 각각에 등록된 문제 수도 적다는 점에 어려움을 겪을 때가 많다. 이는 과거의 문제들을 실제 대회와 같은 환경으로 구성해서 풀어보는 - 흔히 셋 돈다고 표현하는 - 연습 방법을 주로 사용해왔던 나로서는 불편한 일이었다. 그래서 원하는 문제를 등록해서 풀 수 있는 사설 사이트를 만들어보고자 했다. Tools 도구 CTFd CTFd/CTFd CTFs as you need them. Contribute to CTFd/CTFd development by creating an account on GitHub. github.com 구글 클라우드 플랫폼(GCP) Google Cloud Platform 하나의 계정으로 모든 G..
-
greetingCTF/XCTF 2021. 2. 11. 15:45
Disassembly 디스어셈블리 void main(void) { int32_t iVar1; int32_t in_GS_OFFSET; undefined auStack148 [64]; char acStack84 [64]; int32_t iStack20; iStack20 = *(int32_t *)(in_GS_OFFSET + 0x14); printf("Please tell me your name... "); iVar1 = getnline(acStack84, 0x40); if (iVar1 == 0) { puts("Don\'t ignore me ;( "); } else { sprintf(auStack148, "Nice to meet you, %s :)\n", acStack84); printf(auStack148);..
-
RechoCTF/XCTF 2021. 2. 11. 04:21
Disassembly 디스어셈블리 undefined8 main(void) { int64_t iVar1; char *str; // rbp-0x40 char *buf; // rbp-0x30 undefined8 size; Init(); write(1, "Welcome to Recho server!\n", 0x19); while( true ) { iVar1 = read(0, str, 0x10); if (iVar1 < 1) break; size = atoi(str); if (size < 0x10) { size = 0x10; } len = read(0, buf, size); buf[len] = 0; printf("%s", buf); } return 0; } read를 통해 buf에 입력받을 때 스택 버퍼 오버플로우..
-
welpwnCTF/XCTF 2021. 2. 11. 02:27
Disassembly 디스어셈블리 undefined8 main(void) { void *buf; write(1, "Welcome to RCTF\n", 0x10); fflush(_reloc.stdout); read(0, &buf, 0x400); echo(&buf); return 0; } main은 0x400바이트를 입력받아 echo를 호출한다. void echo(char *dest) { char *dest; // rbp-0x10 strcpy(dest, src); // stack buffer overflow if (strcmp("ROIS", dest) == 0) { printf("RCTF{Welcome}"); puts(" is not flag"); } printf("%s", dest); return; } e..
-
Mary_MortonCTF/XCTF 2021. 2. 11. 00:33
Disassembly 디스어셈블리 void main() { init(); puts("Welcome to the battle ! "); puts("[Great Fairy] level pwned "); puts("Select your weapon "); while( true ) { menu(); scanf("%d", &num); if (num == 1) { bof(); } else if (num == 2) { fsb(); } else if (num == 3) { break; } else { puts("Wrong!"); } } puts("Bye "); exit(0); } main에서는 bof와 fsb를 호출할 수 있다. void fsb(void) { undefined8 str; // rbp - 0x90 mem..