Web安全 Buffer Overflow Attack实验

本文通过一次Buffer Overflow Attack实验,详细阐述了C语言中由于不进行边界检查导致的安全问题。实验过程包括编译运行程序、反汇编查看函数地址、修改代码以覆盖返回地址,最终实现程序跳转到非预期位置,揭示了缓冲区溢出攻击的原理。
摘要由CSDN通过智能技术生成

Assignment 7 

Buffer Overflow Attack





一开始我直接复制粘贴了蔡老师的代码,结果一直得不到预期的输出,但是之后我再看了看蔡老师的课件,又去网上重新找了找资料,完成了这次实验。

核心思想:

当程序执行strcpy时,程序将char[]中的内容拷入buffer中,但是buffer只能容纳一定容量的Bytes。由于C语言不进行边界检查,所以结果是buffer后面的字节内容被覆盖掉了,其中包括了ebp, ret地址,在这个例子中就是i r命令查看到的地址,那么如果要使它变成我们想要跳转到的bug函数地址,则要把char[]内容改造——那么沿用蔡老师原来的代码自然就不行了,我们得自己更该char[]的内容,即更改为bug的函数地址。然后运行程序,自然就会跳转到程序内按规定不能到的地方。


实验步骤:


首先直接编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Buffer Overflow Attack Lab(服务器版)是一个用于学习和实践缓冲区溢出攻击的实验室。 缓冲区溢出攻击是一种常见的安全漏洞,攻击者通过在程序代码中输入超过缓冲区容量的数据来改变程序的行为,进而执行恶意代码。这种攻击方式非常危险,因为它可以使攻击者获得对系统的完全控制。 Buffer Overflow Attack Lab提供了一个可用于攻击的漏洞程序。通过这个实验室,学生和安全研究人员能够深入了解缓冲区溢出攻击的细节,了解攻击的原理和过程。 在该实验室中,学生需要利用一个脆弱的网络服务程序进行攻击。通过向服务器发送大量数据,攻击者可以超出缓冲区的边界,修改程序的执行路径。 实验室提供了一些指导和步骤,帮助学生理解和完成实验。学生需要通过分析和探索脆弱程序的行为,找到可以利用的漏洞,并编写针对该漏洞的恶意代码。 通过这个实验室,学生可以深入了解缓冲区溢出攻击的工作原理,了解攻击中使用的技术和方法,并且学会如何防范这种类型的安全漏洞。 总之,Buffer Overflow Attack Lab(服务器版)是一个提供实践和学习缓冲区溢出攻击的教育实验室,帮助学生理解和掌握这种常见的安全漏洞。它为学生提供了一个安全的环境,让他们能够深入了解攻击的原理和技术,并学会如何保护系统免受这种类型的攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值