[BuckeyeCTF 2024 / beginner-pwn] color
CTF
What's your favorite color?AttachmentAnalysischar FAVORITE_COLOR[0x20];char FLAG[0x28];전역 변수 FAVORITE_COLOR와 FLAG는 메모리 상에서 인접해 있다.따라서 FAVORITE_COLOR를 0x20바이트만큼 가득 채우면,printf("%s!?!? Mid af color\n", FAVORITE_COLOR);마지막에 FAVORITE_COLOR를 출력할 때 FLAG까지 이어서 출력하게 된다.Exploitation
[BuckeyeCTF 2024 / beginner-pwn] runway1
CTF
Starting to ramp up!AttachmentAnalysisint win() { printf("You win! Here is your shell:\n"); system("/bin/sh");}int get_favorite_food() { char food[64]; printf("What is your favorite food?\n"); fflush(stdout); fgets(food, 100, stdin); printf("Hmmm..... %s...", food);}get_favorite_food()에서 64바이트 크기의 food에 100바이트를 입력받아 stack buffer overflow가 발생한다.ExploitationPIE와 canary가 없기 때문에..
[BuckeyeCTF 2024 / beginner-pwn] runway0
CTF
If you've never done a CTF before, this runway should help!Hint: MacOS users (on M series) will need a x86 Linux VM. Tutorial is here: pwnoh.io/utmAttachmentAnalysis#include #include #include int main() { char command[110] = "cowsay \""; char message[100]; printf("Give me a message to say!\n"); fflush(stdout); fgets(message, 0x100, stdin); strncat(command, message, 98); strn..
[Urmia CTF 2024 / pwnable] Orange
CTF
Dive into the juicy depths of this challenge and see if you can squeeze out a surprise.AttachmentAnalysisset_buyer_name()에서 Stack buffer overflow [1], show_cart()에서 format string bug [2] 가 발생한다.ExploitationFSB를 이용하여 canary와 스택 주소를 leak한 뒤에, 스택에 실행 권한이 있는 것을 이용하여 스택에 shellcode를 넣고 return address를 shellcode의 주소로 덮어쓰면 shell을 획득할 수 있다.ex.py
[Urmia CTF 2024 / pwnable] Look-up
CTF
Unravel the hidden messages buried in the echoes of code.AttachmentAnalysisStack buffer overflow [1] 가 발생한다. read()로 입력을 받고 printf("%s")로 출력하기 때문에 [2] 스택에 저장된 값들을 leak할 수 있다. s에 "UCTF"라는 문자열이 포함되어 있으면 vuln()을 다시 호출하여 [3] stack BOF를 반복적으로 이용할 수 있다.ExploitationLeak PIEs에 0x1a바이트를 입력하면 vuln()의 return address를 leak하여 PIE base를 계산할 수 있다.Leak canarys에 0xb바이트를 입력하여 canary의 null byte를 덮어쓰면 canary까지 출력되어..
h0meb0dy_
'CTF' 카테고리의 글 목록 (2 Page)