|
![]() | 作者: 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号