按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
懂的婴孩一般。
这样的人,就像太阳一样,在哪里都能够发光发热,不可能默默无名,听都没有听说过。
第469章 溢出漏洞
老王也是技术人员出身,并且经历丰富,人到中年了看人也比较准。在场的这么多人当中,老王唯独对林鸿比较看重,也只有他的水平比自己要高。
老王的性格比较内敛,很少主动和别人进行搭讪,但是内心却有一种冲动,想要结识林鸿。这个年轻人,实在太突了,最关键的是,他还很年轻。
看着他,老王甚至有一种隐隐的羡慕和嫉妒,年轻就是最大的资本啊!
面对老王的询问,林鸿笑了笑,也没有隐瞒,回答道:“小弟我和朋友开了一个公司,专门做嵌入式系统方面的开发。”
林鸿此时才注意到,老王的右腿有些不便,或者说是畸形,走路的时候,一瘸一拐的。
见林鸿将目光放在他的右腿上,老王淡然道:“小时候小儿麻痹症落下的残疾。”
林鸿了然地微微点头。
小儿麻痹症也就是脊髓灰质炎,以前医疗条件差,小孩子也很少打疫苗,得这种病的人的比例比较高,而且会留下非常严重的后遗症,老王应该就是这些人当中的一员。
“老王,你目前是在哪个公司上班?”林鸿也有些好奇地问了一句。
老王摇摇头:“和你一样,也是自己搞了个小公司,专门研究杀毒软件。对了,这是我的名片,以后没准我们两个公司还有机会合作。”
说着,老王便从口袋中抽出一张白色名片。
名片很简单。没有任何花纹,只印了名字,联系电话以及公司名称。只见上面写着“北金市东明高科技有限公司。”
“见笑了,冠名高科技,其实科技含量并不高。只是我本身是个残障人士,能开个公司非常不容易,有关部门特别照顾。”老王脸上露出一丝自嘲的神色。
林鸿自然不会对此而发表什么意见。他将老王的名片收起来,放进口袋,说道:“等演习结束之后。我去你公司参观一下。以后应该会有合作的机会。”
“非常欢迎!”
接着,他们也开始对对手的服务器和设备进行扫描探测。
老王看到反馈回来的消息,顿时说道:“得。他们也用的是UNIX系统!”
林鸿听到他的话,也使用网络命令探测从各个角度探测了一下,老王说得没错,其中有一台设备上所使用的系统,是OPENBSD,这个分支的版本,比FREEBSD还要更短,去年的时候才正式启动。
不过,由于这个系统是基于NETBSD的,进展也非常快。去年七月份的时候出的1。2版,仅仅是短短三个月之后,便出来了2。0版。
这个系统,甚至可以说更注重安全方面的性能。
“看来蓝军也有高手。”林鸿点点头,“不过这样才有更有意思!”
“你说得对!”老王对林鸿的话深以为然。棋逢对手才是让他们高兴的事情。
接着,他们将大家召集起来,重新布置了一下任务,每个人都负责一部分内容,然后开始各自探测对方的目标。
接下来的事情很枯燥,就是不断地去查探对方的信息。然后进行分析,进而从中找出漏洞。
林鸿发现,对方也开了80端口,并且开设了APACHE的服务,看来对方用于通信的方式,是通过WEB服务。
单从这点上来看,对方便有点落后于红军了。
APACHE配置好的话,虽然漏洞很少相对来说也很安全,但这毕竟还是有漏洞的。至少林鸿便有好几种方式可以成功突破进去。他掌握的这些漏洞,有些是APACHE本身的,而有些,则是编程语言内部的缺陷。
不过,林鸿并没有着急动手,而是慢慢地进行探查,看看有多少种方式可以成功突破,同时也估算一下对方的水平。
有些漏洞,并不是对方想补就能补上的,这些漏洞的存在,并不是说对方的水平不行,而是平台本身存在,例如路由器里面的漏洞,如果没有专门研究过,根本不知道这里面还可以做文章。
林鸿和老王在探测对方的同时,其他人也没有闲着。
他们,有的如小蒋继续给自己的系统增加防御,配置安全策略,有的则如刘辉,忙着表现自己,从自己的私人“宝库”中,拿出“大杀器”,开始疯狂地对对方进行数据风暴攻击。
数据风暴攻击,也就是洪水攻击,其原理就是利用三次握手协议的缺陷,大量地伪造连接请求。
由于这些申请连接的请求是伪造的,源地址是假的,发出申请之后,对方的服务器便一直会进行对外回应广播,要求申请者再次进行确认或者拒绝,要是没有人再次回应,服务器便会一直这样下去,形成大量的半连接状态,这样端口的半连接队列很快就会被堆满,对其他有效请求便不能提供服务。
故而,这种洪水攻击,也叫做拒绝服务攻击。
以刘辉现在这种程度的洪水攻击,对于他们服务器的带宽来说,效果并不大。只有分布式的拒绝服务攻击即DDOS才能发挥最大效果。不过,要想使用DDOS攻击,就必须大量的机器参与进来。
当然,能够消耗一些对方的网络资源,也是不错的,也并不能说刘辉此刻的攻击没有意义,至少也扰乱一下对方的视线。
林鸿并不是很喜欢数据风暴式的攻击,因为这种攻击没有什么技术含量,缺乏技巧,就如同打斗的时候,完全凭借自身的蛮力和对方搏斗,却少智慧。
他不想使用过于惊骇世俗地漏洞,决定从正常的角度入手,针对对方的系统搞一个溢出攻击程序。虽然他对OPENBSD的研究并不是很多,但是有一点可以确定,那边是UNIX系列的系统,肯定存在着这样那样的溢出攻击漏洞。
这不是系统决定的,而是编程语言决定的。
UNIX系列的系统,都是使用C语言编写的,而C语言有一个重要的特点,那便是很容易出现溢出漏洞。这不是语言的缺陷,而是程序员的不严谨而造成的。
系统里面的程序实在是太多了,代码也是成千上万行,总是会有人粗心,没有严格检查各种内存边界的,这便给攻击者留下了可趁之机。
林鸿通过特定指令对方的服务器进行查询,得出了对方APACHE的版本号,发现并不是最新版本,他记得当初自己在架设网站的时候,曾发现过APACHE的一个溢出漏洞,当时并没有深入研究。
他从官方网站的FTP上将这个版本给下载下来,然后直接在自己的本机上,进行调试跟踪。直接按照记忆,对那个溢出漏洞进行测试,最终发现,这个漏洞至今没有被修复。
很有可能是这个溢出漏洞太过微小和隐秘,并没有引起开发组的注意,也没有引起什么危害,所以一直没有被发现。
既然有这么一个突破口,林鸿也就没有再去想其他法子,而是继续对这个溢出漏洞进行分析,看看是否能够让它执行自己特定的溢出程序。
第470章 棋逢敌手
溢出,顾名思义,就是容器已经满了,东西从里面跑了出来。
在计算机领域中,溢出通常指的是内存中的“栈”结构溢出。“栈”是内存中一个类似于瓶子的数据结构,里面按照“先进后出”的规则保存各种变量和指令。
正常的代码,在栈满了的时候,就会进行判断,然后进行相应处理,不会在其满了之后,还继续向其中压入数据,而是会停止压入,或者清空栈里面的数据,再继续压入。
而很多程序员在编写程序的时候,往往会对这一步进行忽略,或者忘记了对这一步进行检查。
大家都知道溢出的危害,但是还是存在着很多这样的例子,原因就在于这个过程是编程函数自动进行的,例如C语言,只要程序员自己编写一个函数,那么肯定就会有一个“栈”结构被建立起来,这个函数里面的变量和数据全部压入这个栈中,然后再按照执行的顺序,一步一步弹出。
函数是程序中必然会用到的,并且是大量用到,也就是说,栈这个结构也是随处可见,可是要是不对其中的边界条件做严格的检查的话,很有可能就会产生溢出漏洞,尤其是一些涉及到操作核心数据的函数。
林鸿对这种漏洞的利用简直是得心应手,当初他破解德州仪器的计算器的时候,使用的方式就是缓冲区溢出破解,成功让计算器的一个缓冲器溢出,然后执行他的破解代码。
而这一次,他想要做的事情也是一样,既然已经发现了这样的溢出可能,他接下来要做的,便是想办法将自己的代码插入进去,然后通过溢出的方式,执行自己的未授权代码。
这种方式。有点像是给一个瓶子不停地压入东西,然后再对方满了的时候,另外在瓶口处接一个弯弯的管子,将数据流引导从自己的管子里过一遍。然后再将数据流引回瓶中。
LINX有个好处,很多东西都可以以插件的形式进行安装,为了能够让APACHE运行起来,林鸿直接将兼容UNIX的文件系统挂载进来,然后再将和蓝军相同的版本的APACHE安装在本地,再使用调试工具进行跟踪调试。
这是一个细致活,从调试工具中所看到的内容。都是十六进制的机器码,要想读懂其中的关键代码,必须对汇编和机器码相当熟悉。
林鸿有针对性地对这个溢出漏洞进行调试,相对来说进展还是很快的,一步一步接近他想要得到的结果。
林鸿在调试代码的时候,其他人也没闲着。
刘辉继续对蓝军的目标进行洪水攻击,不但自己的机器上安装了这个软件,他还给其他几台运行windows系统的机器也安装了这个软件。增加一下攻击的力度。
可惜的是,他的这个方法,实在是过于简陋了点。持续使用相同的机器进行攻击。对方很容易将其IP加入过滤黑名单,对他的所有伪造请求都不语响应,这样的话,他所做的只能是无用功。
并且,林鸿大概了解了一下他所使用的软件,他的大数据洪水攻击,实在是过于原始了,这么点机器攻击,效果肯定不佳。
真正想要达到让对方拒绝服务的效果,必须使用DDOS。也就是分布式拒绝服务攻击,使用成百上千台机器同时对目标进行数据风暴轰炸,这样,对方无法识别正确的IP来源,才能够有一些效果。
此外,洪水攻击实际上也是有很多种的。刘辉所使用的这种,是最基本最简单的一种,是单纯的SYN洪水,也就是在第一次握手的时候就是个虚假的申请,没有有效的源地址。
这种情况,有点类似于,突然有个人打个电话过来挂断,当服务器端回拨过去的时候,却发现对方的电话号码根本不存在。
而偏偏服务器端的脑子并不是很聪明,或者说,涉及他的人暂时没有考虑到这一点,于是他便真的以为是有人打电话给他,于是拿着电话一直不挂,等着对方接听。而他本身同时只能接听一定数量的电话,当这样的人数一多,他所有的电话都给拿了起来,别人便打不进来了,相当于他拒绝服务了。
刘辉的软件所实现的功能,就是这个伪造打电话的过程。
这个原理是正确的,但是在现在这种场合中却并不适合使用,几个电话号码而已,只要服务器端的管理员跟他说,这几个号码是假的,别管他,就能避免拒绝服务的情况出现。