“行!你的溢出研究得差不多了吧?”
林鸿点点头:“嗯,快了,还有关键的一步。”
他已经成功找到了利用这个溢出漏洞的方式,可以成功让apache溢出,并且执行指定的代码。
不过,有一点,他必须能够让apache重新启动一次,才能够达到这个目的。
不过,怎样才能让apache重启?
林鸿在脑海中搜索了一番,最终找到了一个可行的方案。
他不但要让apache重启,还可以直接让对方的openbsd重启,这样的话,一举两得,也可以算做一个明显地攻击成果。
不过,这个方法,他知道只能用一次,待对方发现原因之后,肯定会把这个漏洞给堵上。
他这边的工作做好之后,便开始来到老王这里,一起帮忙看他的蠕虫代码。
这个蠕虫的代码,是网络上比较典型的蠕虫,可以进行自我复制感染,并且和他的超级蠕虫一样,可以对资料进行搜索。
现在的问题是,这个蠕虫暂时并不能利用openbsd的漏洞,必须对方首先执行一次它的代码,然后它才能顺利在系统中潜伏下来。
从这点上来看,它更多地像是一个木马。
“我们的目标只有一个,就是那台服务器。”林鸿提醒道,“它的感染功能,干脆去掉,在这里根本没有任何意义。”
老王一听,顿时觉得的确是这样,之前他想得有些偏了,老是想改造蠕虫代码,反而没有考虑这个情况。
“感染之后的时间肯定比较短,所以最好是能够在极短的时间内就完成对资料的拷贝,然后再不知不觉地将资料传回来。”林鸿继续述说着自己的构想,“我的那个漏洞要进行利用,必须让对方的机器进行重启,也就是说,拷贝的过程,必须在重启的那一段时间内就要完成。那个时候,对方肯定会详细检查整个系统里面的进程,也就是说,这个程序,在拷贝完目标资料之后,就必须进入假死状态,逃过对方的检查。”
要想实现这一步,就只能是将这个进程隐藏,或者伪装成系统的进程了。
老王对这个也比较熟悉,先让进程进入休眠状态,然后再在特定的时候激活。
林鸿继续说着自己的想法,在他的启发下,老王渐渐地对这个蠕虫进行修改和完善。
最后,到了最关键的地方,那便是对资料的上传。
“……将资料分割成文件碎片,就像ip数据包那样,最终在目的地再进行重组,实现文件的传输。”林鸿说出了自己的解决方案。
“这……”对于这点,老王面露难色,在这一块他了解得不是很深,正是他的弱点所在,“这部分只能你来完成了。”
老王让出了座位,示意林鸿入座。
林鸿也没客气,直接坐下,然后接着下面编写代码。
他写得很快很流畅,仿佛之前的代码就是他自己编写的一样熟悉,根本没有任何障碍。
这部分的内容,林鸿早就研究过,当年比特信使正式版发布的时候,就已经融入了文件分享功能,里面引入了一个“信封”的概念,其原理就是将文件分割成无数个小块,然后从分布式的p2p网络上下载这些小块文件,从而达到加速的效果。
此外,他的超级蠕虫也使用了这个原理。
这次只针对一台电脑,功能相对来比较简单,林鸿很快便将这部分的代码给编写了出来。他写得非常简洁,别人通常要分好多行的代码,他往往一行就搞定了。
这正是老鸟和菜鸟的区别。
完成同样的功能,老鸟的代码简练、效率高,而新手菜鸟的代码则比较冗余。
老王算是一个老鸟了,他自认为自己的代码编写得相当可以,可是当他看到林鸿的代码之后,顿时觉得自己还是个小孩子。
“你接触计算机多少年了?”老王忍不住问了一句。
林鸿抬头看了他一眼,笑了笑,知道他的自信心受到了一定程度的打击,他说道:“我学编程,已经七八年了。”
听到这句话,老王才有点得到安慰的感觉。
(未完待续)