当前位置:零点看书 > 其它小说 > 绝命黑客 > 第8章 像心脏流血一般的漏洞

正文 第8章 像心脏流血一般的漏洞

  第8章 像心脏流血一般的漏洞


  陈青峰和赵长安在咖啡馆说完了正事之后,陈青峰便转身离开了。


  一路上,他乘坐地铁回到了家里,刚一回到家,一种难以形容的难受的感觉就突然袭来。以至于陈青峰一时不慎跌倒在地。


  于是他艰难的在地板上挪动着。


  直到慢慢的挪进了卧室,然后他连忙打开抽屉,拿出了几片从帝都回来时医生开给他的镇痛药。


  随后直接干咽了下去。


  一直过了好一会儿,陈青峰才终于缓过劲儿来。


  没事,他饿着肚子慢慢的走到了厨房,给自己煮了一碗清汤挂面。


  因为身体极度难受,他吃不下任何的东西。


  只有不用咀嚼的挂面,他还勉强吃得下。


  就这样,他煮好了面之后端着锅来到了自己熟悉的书房。


  随后打开电脑,做起了每天都要做的事情,那就是阅读代码。


  作为一名程序员,陈青峰一直喜欢阅读那些知名的开源代码。


  而最近这些日子,他一直在研究openSSL。


  因为这个项目是全球最知名的加密协议。而且同时它也是一个开源项目。


  SSL本来是一个连接协议,但后来使用的人多了,于是便有人想到了加密的手段来阻止黑客进行破坏。


  于是openSSL这个项目便诞生了。


  现在陈青峰要做的是黑客类型的外挂,如果能够了解一些openSSL的原理。那对于他的外挂事业会很有帮助,最起码他能够知道哪些程序员犯了致命的错误,而自己该如何下手?


  陈青峰一边吃着挂面,一边在自己的项目工程文件里阅读着代码。


  调试代码是一件繁琐的事情,但这也是程序员和程序员之间的对话。


  你可以通过学习别人的程序来提高自己。


  并且这个过程只有懂技术的人才会乐在其中。


  除此之外,陈青峰还发现了另外一个好处,那就是在调试代码享受乐趣的时候,身体和大脑会暂时忘记关于自己体内癌症的事情。


  这对于减缓因为疾病带来的不适有很好的帮助。


  “心跳检测!”


  这是一个用来做时间同步的功能,虽然很重要,但很多程序之间都有心跳检测,因此这段代码读起来大同小异。


  陈青峰慢慢的在代码中间打着节点,他自己构建了一个可以测试open SSL的小型测试程序。


  通过断点,可以看清楚到底内存中存储了什么东西?


  陈青峰先是按常规的策略,将心跳包发送了过去。


  很快他的断点就收到了回应!


  这一切都在他的意料之中,不过就在这时,他的手不小心碰到了筷子,筷子在键盘上碰了一下,陈青峰手忙脚乱,一下子又碰到了鼠标点了一下编译按钮,看着漫长的编译程序,他不由的感到一阵头疼。


  还好,编译器只是编译他修改部分的代码。


  可就在这时,断点又一次被触发了。


  陈青峰惊讶的看着这一切。


  然后他又回过头来,看着代码里被自己修改的部分。


  原本应该发送的一段内容,已经超出了64KB应有的范围,刚才陈青峰不小心在后面多加了一个0。


  按理说,这段非法报文发送出去之后,断点是不会被触发的。


  可现在它居然被触发了?


  这到底是怎么回事?


  陈青峰觉得有点奇怪,程序不应该走到这里。


  于是他重新试验了一下,又多加了几个断点。


  于是程序便开始一步一步的被陈青峰跟随着。


  <div class="contentadv">当陈青峰看到一处if判断的时候,他突然发现,这段程序的指针竟然违反常规的跳到了if为真的代码段!


  陈青峰惊讶的看着上下这一段程序代码。


  他睁大眼睛重复了一遍又一遍。


  最终他不由的深吸了一口气。


  然后他觉得自己发现了一个难以形容的重大事实。


  Open SSL的程序员居然犯错误了?


  一段非法访问的报文居然被认为是正确的。


  这也就意味着,自己获取了服务器内部一段不知区域的内存储的消息。


  越界访问?


  知名的开源加密项目居然会出问题?


  全世界那么多程序员,无数双眼睛都盯着的基础程序,居然被自己亲手调出了bug。


  这意味着什么?


  陈青峰还是有点不敢相信,因为按照常理来说,这根本是不可能的事情。


  可是眼下却明明白白的发生了。


  于是陈青峰耐着性子,悄悄的打开了某大厂的页面。


  OpenSSL协议,现在最常用的,就是这些大厂,尤其是在电商领域更是常见。


  现在陈青峰要试验一下。


  于是他端起来喝了一口已经凉掉的面汤。然后活动了一下手指,在键盘上迅速的敲击了起来。


  他伪造了一段和刚才类似的超出限制的非法报文。


  然后怀着颤抖的心情发送给了电商网站的服务器。


  紧接着,他就在程序里等待着对方的回应。


  几乎不到一秒的时间,他就收到了一段信息。


  陈青峰打开一看,脸上顿时露出了一种欣喜之后释然的笑容。


  他没有错, Open SSL的程序员的确犯了一个致命的错误。


  它通过超长的报文拿到了服务器内返回的64KB的数据。


  而这段数据里甚至还包含着一个陌生人的用户名和密码。


  一个用来心跳检测的模块,居然让程序泄露出了内存里的信息。


  而重要的数据,被一点一点的从漏洞里渗透出来。仿佛在心脏的主动脉上漏出了一个渗血的出血口,一点一点的流着血。


  而陈青峰可以确定,掌握了这个漏洞,起码在这一夜间,全世界所有采用openSSL协议加密的网站,都会在他的面前门洞大开。


  这意味着什么?


  这意味着上帝突然在刚才那一刻,为他打开了一扇财富的大门。


  但是他不确定这个漏洞什么时候会被程序员发现。


  不过如果他早动手的话,起码有一点是肯定的,他的治疗费用应该不用发愁了!


  陈青峰难以抑制的从桌子前站了起来。


  他走到了自家的书柜前,把上面一瓶五粮液直接拿下来。


  随后拧开之后,大口的灌进了自己的胃里。


  不过平日里不怎么喝酒的陈青峰很快就咳嗽了起来。


  然而此刻他却遇到了人生中最开心的时刻。


  他从来都没有感觉到像今天这样有成就感。


  原来全世界最优秀的程序员,全世界最严谨的开源项目也有犯错误的时候。

上一章目录+书签下一章