论坛: 菜鸟乐园 标题: 问一个很菜的问题,什么是“缓冲区溢出”?? 复制本贴地址    
作者: qzs1978 [qzs1978]    论坛用户   登录
问一个很菜的问题,什么是“缓冲区溢出”??

地主 发表时间: 11/22 20:42

回复: sidger [sidger]   论坛用户   登录
大概就是50升的杯子装了60升的水吧

B1层 发表时间: 11/22 21:27

回复: hkxiaolin [hkxiaolin]   论坛用户   登录
具体原理我也不是很清楚,只能说个大概:缓冲区是在内存中划分的一个特殊的区域,当我们向系统发出超出缓冲区大小的数据处理请求时,便会引发溢出,并弹出错误对话框,我们常看到的“非法操作”其实也是可能是由于溢出。

B2层 发表时间: 11/22 23:44

回复: tabris17 [tabris17]   论坛用户   登录
50升的杯子装60升水
这个比喻不确切

如果真是这样就不会出什么事情了

就某种可能出现的情况而言,程序会为数据设置一个缓冲区,如果程序对数据没有很好的检测手段,使放入的数据大于着个缓冲区的话,会使得和缓冲区相邻的内存区域被这些溢出的数据覆盖。这些益出的数据可能被当作指令而执行(当然要看情况的,并不都会这样,一般常见的就是windows的“非法操作”),最糟糕的情况就是被覆盖的内存区域恰好是有root权限的,那么就可以在这台电脑上为所欲为了


B3层 发表时间: 11/23 00:13

回复: Paper [paper]   论坛用户   登录
程序运行时要分配一段缓冲区用于保存子程序返回地址、参数等信息,这段缓冲区大小是固定的。当一个大于其长度的输入被放到这个缓冲区中时,返回地址等信息可能就会被输入覆盖,使原子程序不能正常返回。

B4层 发表时间: 11/23 12:45

回复: sniper167 [sniper167]   论坛用户   登录
谢谢

B5层 发表时间: 11/23 20:38

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号