溢出,顾名思义,就是容器已经满了,东西从里面跑了出来。
在计算机领域中,溢出通常指的是内存中的“栈”结构溢出。“栈”是内存中一个类似于瓶子的数据结构,里面按照“先进后出”的规则保存各种变量和指令。
正常的代码,在栈满了的时候,就会进行判断,然后进行相应处理,不会在其满了之后,还继续向其中压入数据,而是会停止压入,或者清空栈里面的数据,再继续压入。
而很多程序员在编写程序的时候,往往会对这一步进行忽略,或者忘记了对这一步进行检查。
大家都知道溢出的危害,但是还是存在着很多这样的例子,原因就在于这个过程是编程函数自动进行的,例如C语言,只要程序员自己编写一个函数,那么肯定就会有一个“栈”结构被建立起来,这个函数里面的变量和数据全部压入这个栈中,然后再按照执行的顺序,一步一步弹出。
函数是程序中必然会用到的,并且是大量用到,也就是说,栈这个结构也是随处可见,可是要是不对其中的边界条件做严格的检查的话,很有可能就会产生溢出漏洞,尤其是一些涉及到艹作核心数据的函数。
林鸿对这种漏洞的利用简直是得心应手,当初他破解德州仪器的计算器的时候,使用的方式就是缓冲区溢出破解,成功让计算器的一个缓冲器溢出,然后执行他的破解代码。
而这一次,他想要做的事情也是一样,既然已经发现了这样的溢出可能,他接下来要做的,便是想办法将自己的代码插入进去,然后通过溢出的方式,执行自己的未授权代码。
这种方式,有点像是给一个瓶子不停地压入东西,然后再对方满了的时候,另外在瓶口处接一个弯弯的管子,将数据流引导从自己的管子里过一遍,然后再将数据流引回瓶中。
LINX有个好处,很多东西都可以以插件的形式进行安装,为了能够让APACHE运行起来
本网站为网友提供小说上传储存空间平台,为网友提供在线阅读交流、txt下载,平台上的所有文学作品均来源于网友的上传
用户上传的文学作品均由网站程序自动分割展现,无人工干预,本站自身不编辑或修改网友上传的内容(请上传有合法版权的作品)
如发现本站有侵犯权利人版权内容的,请向本站投诉,一经核实,本站将立即删除相关作品并对上传人ID账号作封号处理