什么是溢出?
发布网友
发布时间:2022-05-01 01:04
我来回答
共3个回答
热心网友
时间:2022-06-21 16:05
什么是溢出?
溢出全名是“缓冲区溢出”缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,攻击者写一个超过缓冲区长度的字符串,然后植入到缓冲区,而再向一个有限空间的缓冲区中植入超长的字符串可能会出现两个结果,一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另有一个结果就是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。大多造成缓冲区溢出的原因是程序中没有仔细检查用户输入参数而造成的。
缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着动态分配变量会出现问题。大多时为了不占用太多的内存,一个有动态分配变量的程序在程序运行时才决定给它们分配多少内存。这样想下去的话,如果说要给程序在动态分配缓冲区放入超长的数据,它就会溢出了。一个缓冲区溢出程序使用这个溢出的数据将汇编语言代码放到机器的内存里,通常是产生root权限的地方,这就不是什么好现象了。仅仅就单个的缓冲区溢出惹眼,它并不是最大的问题根本所在。但如果溢出送到能够以root权限运行命令的区域,一旦运行这些命令,那可就等于把机器拱手相让了。
热心网友
时间:2022-06-21 16:05
在西方经济学里,“溢出效应”与“回波效应”是一组对应的概念。
一国总需求与国民收入增加对别国的影响,称为“溢出效应”。反过来,别国由于“溢出效应”所引起的国民收入增加,又会通过进口的增加使最初引起 “溢出效应”的国家的国民收入再增加,这种影响被称为 “回波效应”。
热心网友
时间:2022-06-21 16:06
超出正常容器的容量,(比如常用水杯中倒入一壶水)