BUUCTF Pwn jarvisoj_level21解题步骤

1、检查文件类型

查看之后发现是32位的ELF文件,RELRO和NX保护不影响我们做题

2、IDA反编译,进行分析

main函数中提到了一个vulnerable_function();

双击点开这个函数

从反汇编后的代码可以看出read()这个函数对buf进行写入时存在缓冲区溢出

3、实现方法

"node5.buuoj,cn",25747是靶机信息

buf到ebp的距离是0x88,ebp到Return的距离是0xF

system的地址可以在plt中找到,双击system.plt

然后在输入shift+F12,可以查找

bin/sh的地址

这里需要注意的是,由于我们是直接调用system()而不是使用call指令,因此计算机会将调用函数前栈顶指针指向的地址视为函数的返回地址,因此我们需要在这个地方随便填入一些值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值