“……堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除……不管什么程序,都需要有栈区和堆区……栈区(stack)―由编译器自动分配释放,存放函数的参数值……堆区(heap)―一般由程序员分配释放,若程序员不释放,程序结束时可能由os回收……”
教授的话语在教室中回荡,精神上刚刚得到刺激的同学们,在坚持了不到两分钟后,再一次倒下了。枯燥的原理解释,看似无用的理论知识和极少的实践,造成了他们对这些乏味的理论提不起任何兴趣,他们更想听的是昨晚欧洲杯进了几个球,谁又上演了帽子戏法,或者是最近那个品牌店又在打折,那款化妆品对皮肤比较好。
似乎这些已经成为学生们的生活全部了,成功的在高考战场上杀出重围后,大家都松懈下来了,似乎觉得前途一片光明,毕业后只需拿着毕业证,就会有一大堆的知名公司哭爷爷求奶奶的大叫着让他加入他们的公司,要是没有了他,那些知名企业过不了今夜就要倒闭了。
不过洛凡却不这样,在经过了初期的不适应后。他是越听越有味,很多以前模棱两可的知识,在教授的讲解下都明白过来了。还有一些以前不知道的知识,也有了了解。虽然他的编程水平很厉害,但毕竟是一个人钻研摸索的,没有经过系统的理论学习,难免会缺失一些知识点和对某些知识了解不够全面。
因为自学都是需要什么就学什么,要用到某个知识的时候就去查找这个知识的资料,根本不会全面而系统的去学习。所以这就造成了某些知识的缺失和对一些知识的片面了解。
“程序在申请内存分配后,只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出……”
听到这一句之后,洛凡忽然想到了溢出攻击:“教授,溢出攻击是否就是从这里出现的?”
教授一个人自言自语的正累,突然听到洛凡的问题,顿时来了兴趣:“为什么这么说呢?你说说什么是溢出攻击。”
洛凡看到教授满脸笑容,也没了刚才的怒气,便放下了心中的忐忑,解释道:“如果把内存比作一大堆紧挨着的酒杯,而每个酒杯就是一个栈,程序运行申请到内存后,就要把自身存入栈中,这就像是往杯子中倒酒。一个程序需要的杯子可能不止一个,如果它需要很多杯子的话,那么紧接在一起的杯子就会被倒入同一种的酒,而且不可能每个杯子都会被倒满,于是这就给远程溢出攻击提供了机会。
攻击者只需要找到那些没有倒满的杯子,然后往里面倒一些无色无味的液体毒药。当那个杯子满了后还不停止的话,它就会溢出到附近的其它杯子里面,如此一来就会让想喝那些杯中酒的人中毒。而系统要调用那些程序时,就会变成那个喝酒的人,如此一来,系统就被攻击了。”
洛凡一口气说完了他心中的见解,却发现嘈杂的教室变得鸦雀无声,而且教授也同样一脸惊讶的看着他。他还以为是答错了,或者是哪个地方的比喻有问题,心底不由得紧张起来。但是,突然之间教室里响起了掌声,先是一两个人,然后大家都鼓起掌来,于是一阵震动整个教学楼的掌声出现了。就连教授也受不了气氛的感染,情不自禁的鼓起掌来。
天才一秒记住御宅屋1234(yzw1234.com)
御宅屋自由小说阅读网