读书阁 > 玄幻魔法 > 超脑黑客 > 第470章 棋逢敌手

第470章 棋逢敌手(1 / 4)

溢出,顾名思义,就是容器已经满了,东西从里面跑了出来。

在计算机领域中,溢出通常指的是内存中的“栈”结构溢出。“栈”是内存中一个类似于瓶子的数据结构,里面按照“先进后出”的规则保存各种变量和指令。

正常的代码,在栈满了的时候,就会进行判断,然后进行相应处理,不会在其满了之后,还继续向其中压入数据,而是会停止压入,或者清空栈里面的数据,再继续压入。

而很多程序员在编写程序的时候,往往会对这一步进行忽略,或者忘记了对这一步进行检查。

大家都知道溢出的危害,但是还是存在着很多这样的例子,原因就在于这个过程是编程函数自动进行的,例如c语言,只要程序员自己编写一个函数,那么肯定就会有一个“栈”结构被建立起来,这个函数里面的变量和数据全部压入这个栈中,然后再按照执行的顺序,一步一步弹出。

函数是程序中必然会用到的,并且是大量用到,也就是说,栈这个结构也是随处可见,可是要是不对其中的边界条件做严格的检查的话,很有可能就会产生溢出漏洞,尤其是一些涉及到操作核心数据的函数。

林鸿对这种漏洞的利用简直是得心应手,当初他破解德州仪器的计算器的时候,使用的方式就是缓冲区溢出破解,成功让计算器的一个缓冲器溢出,然后执行他的破解代码。

而这一次,他想要做的事情也是一样,既然已经发现了这样的溢出可能,他接下来要做的,便是想办法将自己的代码插入进去,然后通过溢出的方式,执行自己的未授权代码。

这种方式。有点像是给一个瓶子不停地压入东西,然后再对方满了的时候,另外在瓶口处接一个弯弯的管子,将数据流引导从自己的管子里过一遍。然后再将数据流引回瓶中。

linx有个好处,很多东西都可以以插件的形式进行安装,为了能够让apache运行起来,林鸿直接将兼容unix的文件系统挂载进来,然后再将和蓝军相同的版本的apache安装在本地,再使用调试工具进行跟踪调试。

这是一个细致活,从调试工具中所看到的内容。都是十六进制的机器码,要想读懂其中的关键代码,必须对汇编和机器码相当熟悉。

林鸿有针对性地对这个溢出漏洞进行调试,相对来说进展还是很快的,一步一步接近他想要得到的结果。

林鸿在调试代码的时候,其他人也没闲着。

刘辉继续对蓝军

最新小说: 非恒道也 复婚老公请走开 纯阳小医仙 文体全能大明星 要我教你做人吗 我每30天换一个系统 强势锁爱:总裁大人放肆宠 异界穿梭生存手册 我无敌了亿万年 儿子,王爷不是你爹