内存缓冲区什么是“内存缓冲区溢出”

内存缓冲区  时间:2021-07-17  阅读:()

什么是“内存缓冲区溢出”

什么是缓冲区溢出 单的说就是程序对接受的输入数据没有进行有效的检测导致错误,后果可能造成程序崩溃或者执行攻击者的命令,详细的资料可以看的漏洞利用栏目 。

缓冲区溢出的概念   缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里……   堆栈溢出(又称缓冲区溢出)攻击是最常用的黑客技术之一。

我们知道,UNIX本身以及其上的许多应用程序都是用C语言编写的,C语言不检查缓冲区的边界。

在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区。

这称作“堆栈溢出或缓冲溢出”。

  一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误。

但是,如果输入的数据是经过“黑客”精心设计的,覆盖堆栈的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。

如果该程序恰好是以root运行的,黑客就获得了root权限,然后他就可以编译黑客程序、留下入侵后门等,实施进一步地攻击。

按照这种原理进行的黑客入侵就叫做“堆栈溢出攻击”。

  为了便于理解,我们不妨打个比方。

缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。

一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。

由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,能否完全装入新的内容——十磅的糖,结果可能造成缓冲区溢出的产生。

如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。

但是,如果缓冲区仅仅溢出,这只是一个问题。

到此时为止,它还没有破坏性。

当糖溢出时,柜台被盖住。

可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。

与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。

除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。

  在丢失的信息里有能够被程序调用的子程序的列表信息,直到缓冲区溢出发生。

另外,给那些子程序的信息——参数——也丢失了。

这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。

就像一个人步行穿过沙漠。

如果他依赖于他的足迹走回头路,当沙暴来袭抹去了这些痕迹时,他将迷失在沙漠中。

这个问题比程序仅仅迷失方向严重多了。

入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后告诉程序依据预设的方法处理缓冲区,并且执行。

此时的程序已经完全被入侵者操纵了。

  入侵者经常改编现有的应用程序运行不同的程序。

例如,一个入侵者能启动一个新的程序,发送秘密文件(支票本记录,口令文件,或财产清单)给入侵者的电子邮件。

这就好像不仅仅是沙暴吹了脚印,而且后来者也会踩出新的脚印,将我们的迷路者领向不同的地方,他自己一无所知的地方。

缓冲区溢出的处理   你屋子里的门和窗户越少,入侵者进入的方式就越少……   由于缓冲区溢出是一个编程问题,所以只能通过修复被破坏的程序的代码而解决问题。

如果你没有源代码,从上面“堆栈溢出攻击”的原理可以看出,要防止此类攻击,我们可以: 1、开放程序时仔细检查溢出情况,不允许数据溢出缓冲区。

由于编程和编程语言的原因,这非常困难,而且不适合大量已经在使用的程序; 2、使用检查堆栈溢出的编译器或者在程序中加入某些记号,以便程序运行时确认禁止黑客有意造成的溢出。

问题是无法针对已有程序,对新程序来讲,需要修改编译器; 3、经常检查你的操作系统和应用程序提供商的站点,一旦发现他们提供的补丁程序,就马上下载并且应用在系统上,这是最好的方法。

但是系统管理员总要比攻击者慢一步,如果这个有问题的软件是可选的,甚至是临时的,把它从你的系统中删除。

举另外一个例子,你屋子里的门和窗户越少,入侵者进入的方式就越少。

Megalayer(159元 )年付CN2优化带宽VPS

Megalayer 商家我们还算是比较熟悉的,商家主要业务方向是CN2优化带宽、国际BGP和全向带宽的独立服务器和站群服务器,且后来也有增加云服务器(VPS主机)业务。这次中秋节促销活动期间,有发布促销活动,这次活动力度认为还是比较大的,有提供香港、美国、菲律宾的年付VPS主机,CN2优化方案线路的低至年付159元。这次活动截止到10月30日,如果我们有需要的话可以选择。第一、特价限量年付VPS主...

酷锐云香港(19元/月) ,美国1核2G 19元/月,日本独立物理机,

酷锐云是一家2019年开业的国人主机商家,商家为企业运营,主要销售主VPS服务器,提供挂机宝和云服务器,机房有美国CERA、中国香港安畅和电信,CERA为CN2 GIA线路,提供单机10G+天机盾防御,提供美国原生IP,支持媒体流解锁,商家的套餐价格非常美丽,CERA机房月付20元起,香港安畅机房10M带宽月付25元,有需要的朋友可以入手试试。酷锐云自开业以来一直有着良好的产品稳定性及服务态度,支...

Tudcloud(月付7.2美元),香港VPS,可选大带宽或不限流量

Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...

内存缓冲区为你推荐
移动测速请教GPS导航的固定测速与移动测速是什么意思?1u在电子中 1u代表什么 为什么和931.5MeV对应 1u=931.4940MeV/c 这个公式的c又是什么 凌乱洗牌算法关于洗牌算法,请用JAVA编写,定义一个数组,储存1-52以内的数,打乱顺序输出!foxmail邮箱注册Foxmail怎么注册喏?溢出隐藏overflow:hidden:溢出隐藏了。qq注册账号用QQ注册有几种方法?bindserviceonserviceconnected什么时候执行jdk6我是win7的系统,安装了JDK6,环境配置都正确了。但是安装完没有应用程序啊~smartuploadSmartUpload组建实现文件上传下载,我要把文件保存到项目中的某个文件夹中,该如何实现?最好有程序参考ruby语言公司实习让我学习RUBY语言,不知道RUBY语言发展前景怎么样,值不值的去学习。
怎样注册域名 域名解析文件 网易域名邮箱 中国万网域名 kvmla burstnet cpanel php主机 godaddy续费优惠码 京东云擎 windows2003iso 免费网络电视 hnyd 网通ip 宁波服务器 gspeed 699美元 服务器合租 hktv 无限流量 更多