[BUUCTF]PWN------warmup_csaw_2016

本文介绍了分析一个64位程序的过程,通过使用IDA查看字符串和函数,发现了存在无保护的gets函数调用,导致缓冲区溢出漏洞。通过计算溢出长度并覆盖返回地址,可以控制程序执行流至输出flag的函数,从而获取flag。

warmup_csaw_2016

例行检查 ,64位,无保护
在这里插入图片描述
运行一下,没什么信息。
在这里插入图片描述
用64位IDA打开,查看字符串,看到了cat flag,进去瞧瞧
在这里插入图片描述
可以看到这个函数的功能就是输出flag,记录下他的地址 flag_addr=0x40060D
在这里插入图片描述
再回到主函数瞧瞧,可以看到最后是输出了v5,gets函数并没有限制长度,因此存在溢出漏洞。v5的大小是0x40,因此只要我们输入的字符串长度=0x40+8(64位ebp的长度)即可溢出到返回地址,再将返回地址覆盖输出flag的那个函数地址即可
在这里插入图片描述
在这里插入图片描述
得到flag。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值