第八十四章 亂殺了
打開懸賞板塊,懸賞依舊是五花八門的,這回蕭天都只專挑一萬左右的接,因為一萬左右的懸賞,蕭天可以憑藉著豐富的經驗知識,最遲在兩三個小時裡面就能解決。【思兔閱讀sto55.com,無錯章節閱讀】
俗稱亂殺。
隨手眼疾手快的接了一個一萬的懸賞。
然後蕭天就看了起來,一開始看這些花花綠綠的代碼有點頭禿,現在蕭天覺得自己已經在開始慢慢的適應了。
蕭天也是憑藉著上位者的壓制,一目十行的看了起來,當然如果遇到稍微不正常的代碼,蕭天就會停止這種速度,仔細的看。
半小時之後,蕭天還沒有找到,不過他也不慌張,畢竟時間還長著呢。
一般情況下,找漏洞都是沒有源碼的,因為軟體不是你的,如果把源碼給你了,相當於把自家後門沒關門告訴你了,那你豈不是為所欲為為所欲為?
請訪問ʂƮօ55.ƈօʍ獲取最快的章節更新
而且,BUG漏洞的話常見的有作業系統漏洞、伺服器漏洞、伺服器軟體漏洞、網頁系統漏洞。
先說軟體方面的漏洞,不是網頁系統的。一般的漏洞大家聽過的應該是緩衝區溢出漏洞,什麼意思呢?
就是存變量的緩衝區超過了最大大小,文本就會衝掉軟體本來的代碼,造成錯誤。
緩衝區是內存中存放數據的地方。在程序試圖將數據放到及其內存中的某一個位置的時候,因為沒有足夠的空間就會發生緩衝區溢出。
緩衝區溢出就好比是將十升水放進只有五升容量的桶里。很顯然,一旦容器滿了,餘下的部分就會溢出在地板上,弄得一團糟。
舉個例子,登錄系統(不管是網頁還是軟體、ftp等),都要輸入帳號密碼,進行身份認證,系統接受你輸入的帳號密碼,要保存到一個變量里(通常是堆棧),和正確的帳號密碼比較,看你是否是合法的用戶。
如果我定義一個變量用來存放你輸入的密碼(假設最多1000位密碼),一般人的密碼肯定到不了1000位,那麼程序就會正常運行,如果有別有用心的人輸入了2000位,多餘的'1000個字符由於沒有位置放,就會衝掉正常的指令,程序就會崩潰。
因為程序最終都會編譯成機器碼,一行一行的執行,多餘的1000個字符衝掉正常的指令後,機器不能識別,就會報錯退出,把這1000個字符也換做編譯後的機器碼,程序執行到這裡以後,就執行我們的代碼了,這就是緩衝區溢出漏洞。
所以不管是作業系統還是瀏覽器,只要接入網際網路後,就要按照一定的協議收發數據,只要接收的數據沒有進行邊界檢查,就可能造成溢出漏洞。
而為蕭天他們這樣找漏洞的人就是這樣,先使程序崩潰,找到有可能有漏洞的地方,再逐語句調試,這是個非常複雜的過程,不過最終都能夠找到合適的shellcode使對方機器執行我們的指令。
所以繼續的再用半個小時尋找,蕭天也是很快找到了毛病所在。
說實話,這個漏洞又是蕭天依靠那個牛人程式設計師經驗找出來的漏洞,難度倒是不難,但是如果沒有相當豐厚的經驗,真的是不太好找的。
這個問題就是程序代碼邏輯處理問題,在這個程序代碼邏輯節點出現了小BUG,只需要將開源碼的程序邏輯重新編輯一下就行。
所以蕭天也是非常愉快的將這個懸賞提交完成,畢竟再次的一個達不溜向他招手,自然而然的蕭天還是覺得很開心的。
隨意的掃了一眼懸賞板塊,然後刷新一下,看到一個關於「維護一套輔助庫,有個BUG,完成之後兩萬」的懸賞,蕭天也是隨意的直接的接了下來。
反正對於他來說,這些就是相當於新手任務一樣,只不過稍微會有點費腦力罷了。
接下懸賞後,蕭天就看著這套庫封裝了設備通訊以及各種命令返回信息的識別、分類以及錯誤監控等功能。
而且這套庫由一種很小眾的語言寫成,這種語言叫TCL,你可以認為它是一種shell腳本,所以繼承了命令行寫批處理的各種怪異風格;同時它還提供了類似python的進階功能,比簡單的shell script稍微強大一些——這就在水平不高的自動化測試人員和相對強大的語言能力之間取得了平衡。
做過debug的業內人士都知道,一個bug症狀越明顯、發作越頻繁,它就越好處理;最怕的就是這種維護輔助庫一年半載不出現一次的。
所以也難怪人家要懸賞這個,畢竟費時間還不一定找得到,沒有一定的經驗太難了。
蕭天也只是大致看了看,目前來說完全沒有頭緒。
因為相關代碼4、5萬行都可能是有的;而且這BUG描述也極為模糊、混亂,完全沒有方向。
所以對於蕭天來說,解決這個bug的過程應該曲折一點。
十分鐘之後,在這個BUG之前,蕭天在輔助庫中又找到了另一個「積年老Bug」。
這個BUG好像屬於偶發,時有時無,讓人摸不著頭腦。
所以蕭天準備為這個支撐系統做個模擬運行系統。
為什麼要做模擬運營系統,是因為所有這些測試代碼其實都要在網元上運行;而這些網元中,性能比較猛的,兩台就足夠東南亞那些小國全國使用的——從它的電話通訊到電腦網路,全都由這個設備提供支持。
這種設備當然不可能多,如果有測試組想開始測試,就得提前申請;然後如果測試用例有BUG,就把大量機時浪費掉了,那樣子寫的代碼,測試起來就更難了。
而蕭天是沒有這些的,所以只能搞個模擬系統:只要下發命令,就能從資料庫找出記錄下來的、對應的命令返回給自己,這樣就不需要在真機上調試了。
藉助這個模擬系統,蕭天就可以把BUG出現前測試組日誌里記載的命令返回「餵」給程序邏輯。
這果然使得Bug重現了。
通過到處插日誌列印語句,蕭天發現這個問題是因為「命令返回的結果信息丟失」引起的,然後進行到這一步,蕭天發現調查卡到了這裡,下面無法進行下去了。
揉了揉自己的腦袋瓜,蕭天感覺頭腦昏昏沉沉了。
「先休息一會兒吧,不用那麼著急。」
這個時候,張雪也是說道,她在旁邊看的一清二楚。
那密密麻麻的代碼還有銀行卡到帳的工資都令張雪有些愕然。
這麼最多兩三個小時的功夫,幾萬塊就到手了,可不比她累死累活一個月還要賺得多?
難怪這麼有錢呢……
張雪也是心裏面想著。
【請記住我們的域名sto55.com 思兔閱讀,如果喜歡本站請分享到Facebook臉書】