当前位置:萬花小說>书库>都市青春>絕命黑客> 第8章 像心臟流血一般的漏洞

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

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

  陳青峰和趙長安在咖啡館說完了正事之後,陳青峰便轉身離開了。


  一路上,他乘坐地鐵回到了家裡,剛一回到家,一種難以形容的難受的感覺就突然襲來。以至於陳青峰一時不慎跌倒在地。


  於是他艱難的在地板上挪動著。


  直到慢慢的挪進了卧室,然後他連忙打開抽屜,拿出了幾片從帝都回來時醫生開給他的鎮痛葯。


  隨後直接乾咽了下去。


  一直過了好一會兒,陳青峰才終於緩過勁兒來。


  沒事,他餓著肚子慢慢的走到了廚房,給自己煮了一碗清湯掛麵。


  因為身體極度難受,他吃不下任何的東西。


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


  就這樣,他煮好了面之後端著鍋來到了自己熟悉的書房。


  隨後打開電腦,做起了每天都要做的事情,那就是閱讀代碼。


  作為一名程序員,陳青峰一直喜歡閱讀那些知名的開源代碼。


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


  因為這個項目是全球最知名的加密協議。而且同時它也是一個開源項目。


  SSL本來是一個連接協議,但後來使用的人多了,於是便有人想到了加密的手段來阻止黑客進行破壞。


  於是openSSL這個項目便誕生了。


  現在陳青峰要做的是黑客類型的外掛,如果能夠了解一些openSSL的原理。那對於他的外掛事業會很有幫助,最起碼他能夠知道哪些程序員犯了致命的錯誤,而自己該如何下手?


  陳青峰一邊吃著挂面,一邊在自己的項目工程文件里閱讀著代碼。


  調試代碼是一件繁瑣的事情,但這也是程序員和程序員之間的對話。


  你可以通過學習別人的程序來提高自己。


  並且這個過程只有懂技術的人才會樂在其中。


  除此之外,陳青峰還發現了另外一個好處,那就是在調試代碼享受樂趣的時候,身體和大腦會暫時忘記關於自己體內癌症的事情。


  這對於減緩因為疾病帶來的不適有很好的幫助。


  「心跳檢測!」


  這是一個用來做時間同步的功能,雖然很重要,但很多程序之間都有心跳檢測,因此這段代碼讀起來大同小異。


  陳青峰慢慢的在代碼中間打著節點,他自己構建了一個可以測試open SSL的小型測試程序。


  通過斷點,可以看清楚到底內存中存儲了什麼東西?

  陳青峰先是按常規的策略,將心跳包發送了過去。


  很快他的斷點就收到了回應!


  這一切都在他的意料之中,不過就在這時,他的手不小心碰到了筷子,筷子在鍵盤上碰了一下,陳青峰手忙腳亂,一下子又碰到了滑鼠點了一下編譯按鈕,看著漫長的編譯程序,他不由的感到一陣頭疼。


  還好,編譯器只是編譯他修改部分的代碼。


  可就在這時,斷點又一次被觸發了。


  陳青峰驚訝的看著這一切。


  然後他又回過頭來,看著代碼里被自己修改的部分。


  原本應該發送的一段內容,已經超出了64KB應有的範圍,剛才陳青峰不小心在後面多加了一個0。


  按理說,這段非法報文發送出去之後,斷點是不會被觸發的。


  可現在它居然被觸發了?


  這到底是怎麼回事?


  陳青峰覺得有點奇怪,程序不應該走到這裡。


  於是他重新試驗了一下,又多加了幾個斷點。


  於是程序便開始一步一步的被陳青峰跟隨著。 當陳青峰看到一處if判斷的時候,他突然發現,這段程序的指針竟然違反常規的跳到了if為真的代碼段!


  陳青峰驚訝的看著上下這一段程序代碼。


  他睜大眼睛重複了一遍又一遍。


  最終他不由的深吸了一口氣。


  然後他覺得自己發現了一個難以形容的重大事實。


  Open SSL的程序員居然犯錯誤了?


  一段非法訪問的報文居然被認為是正確的。


  這也就意味著,自己獲取了伺服器內部一段不知區域的內存儲的消息。


  越界訪問?


  知名的開源加密項目居然會出問題?

  全世界那麼多程序員,無數雙眼睛都盯著的基礎程序,居然被自己親手調出了bug。


  這意味著什麼?

  陳青峰還是有點不敢相信,因為按照常理來說,這根本是不可能的事情。


  可是眼下卻明明白白的發生了。


  於是陳青峰耐著性子,悄悄的打開了某大廠的頁面。


  OpenSSL協議,現在最常用的,就是這些大廠,尤其是在電商領域更是常見。


  現在陳青峰要試驗一下。


  於是他端起來喝了一口已經涼掉的麵湯。然後活動了一下手指,在鍵盤上迅速的敲擊了起來。


  他偽造了一段和剛才類似的超出限制的非法報文。


  然後懷著顫抖的心情發送給了電商網站的伺服器。


  緊接著,他就在程序里等待著對方的回應。


  幾乎不到一秒的時間,他就收到了一段信息。


  陳青峰打開一看,臉上頓時露出了一種欣喜之後釋然的笑容。


  他沒有錯, Open SSL的程序員的確犯了一個致命的錯誤。


  它通過超長的報文拿到了伺服器內返回的64KB的數據。


  而這段數據里甚至還包含著一個陌生人的用戶名和密碼。


  一個用來心跳檢測的模塊,居然讓程序泄露出了內存里的信息。


  而重要的數據,被一點一點的從漏洞里滲透出來。彷彿在心臟的主動脈上漏出了一個滲血的出血口,一點一點的流著血。


  而陳青峰可以確定,掌握了這個漏洞,起碼在這一夜間,全世界所有採用openSSL協議加密的網站,都會在他的面前門洞大開。


  這意味著什麼?

  這意味著上帝突然在剛才那一刻,為他打開了一扇財富的大門。


  但是他不確定這個漏洞什麼時候會被程序員發現。


  不過如果他早動手的話,起碼有一點是肯定的,他的治療費用應該不用發愁了!

  陳青峰難以抑制的從桌子前站了起來。


  他走到了自家的書櫃前,把上面一瓶五糧液直接拿下來。


  隨後擰開之後,大口的灌進了自己的胃裡。


  不過平日里不怎麼喝酒的陳青峰很快就咳嗽了起來。


  然而此刻他卻遇到了人生中最開心的時刻。


  他從來都沒有感覺到像今天這樣有成就感。


  原來全世界最優秀的程序員,全世界最嚴謹的開源項目也有犯錯誤的時候。


  

上一章目录+书签下一章