bufbomb-缓冲区溢出攻击实验

本文详细介绍了bufbomb实验,通过构造不同攻击字符串,实现对目标程序的缓冲区溢出攻击,包括调用不同函数、传递参数、篡改全局变量等。实验涉及函数调用规则、栈帧结构、地址计算和恶意代码注入,旨在深化对IA-32架构的理解。
摘要由CSDN通过智能技术生成

缓冲区溢出攻击

一、实验目的:
加深对IA-32函数调用规则和栈帧结构的理解

二、实验要求:

构造5个攻击字符串,对目标程序实施缓冲区溢出攻击。

5次攻击难度递增,分别命名为

Smoke    (让目标程序调用smoke函数)

Fizz         (让目标程序使用特定参数调用Fizz函数)

Bang       (让目标程序调用Bang函数,并篡改全局变量)

Boom     (无感攻击,并传递有效返回值)

Nitro      (栈帧地址变化时的有效攻击)

需要调用的函数均在目标程序中存在

三、实验内容:

getbuf函数:存在缓冲区溢出漏洞,buf只有0x28字节长度。

 

栈:

 

 

Smoke

任务是让目标程序调用smoke函数,观察这个栈,要想调用smoke函数就要把smoke函数的地址放到getbuf上面的返回地址处。

找到smoke函数的地址:0x8048c28

 

接下来,只要构造0x28+4+4=48字节长度的字节码就可以将返回地址覆盖,最后四个字节的内容放smoke函数的地址保证返回地址是被smoke函数的地址覆盖,因为是小端存储,也就是:28 8c 04 08,前面放一些00凑出44个字节。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值