第一百三十五章 黑客劉鑫拿下5萬美金(1/2)
劉鑫自從和張瑩熟悉了之後,每天差不多就是三點一線,家裡教室食堂,不過有個小妹子天天陪著,他倒是不覺得無聊。。
劉鑫一直沒啥女人緣,以前無論是在售樓部還是在大學裡,都是差不多的,但是自從劉鑫穿越過之後,發現這種情況改變了。。
今天劉鑫和往常一樣,背著書包去湖大複習,與以往不同的是,這次劉鑫額外帶了一台蘋果Macbook Pro16寸頂配的筆記本電腦,這是因為劉鑫準備從事的特殊行業需要高強度的硬體配置,這部電腦搭配了32個G的內存,一T的固態硬碟和最新的十核心中央處理器以及32核心圖形處理晶片,花了劉鑫26000大洋,這讓劉鑫整整心疼了三秒鐘。。
「劉鑫,剛剛我又在網上看到了微軟的漏洞懸賞計劃,有五萬美元的獎金,你有沒有把握?」張瑩坐在劉鑫旁邊小聲說道。。
劉鑫微微一笑道:「這個我早知道了,自從微軟公布了Instagram上的帳戶劫持漏洞後,我就試圖在其他服務中的尋找類似漏洞,我仔細閱讀了大量微軟發布的資料,尋找類似的技術在其他服務中的應用,我覺得一種技術,不可能只用在一處的,所以我想只要找到應用了類似技術的地方,那麼類似的漏洞就會存在。。」
結果,我最後發現了微軟在重置用戶密碼使用了類似的技術,現在我們需要做的就是對其進行滲透測試,以查看其否存在任何速率限制的漏洞。。
張瑩一臉驚喜道:「劉鑫你真的是個天才,這麼快就能找到新的漏洞,我想請教一下,這個滲透測試你準備怎麼進行?「
劉鑫打開了筆記本電腦,進入了微軟的帳戶登錄界面,然後對張瑩演示道:「你看,我們平時如果忘記了密碼,就需要對密碼進行重置,在對微軟帳戶密碼進行重置時,我們需要進入「忘記密碼」頁面,並在頁面中輸入帳戶的電子郵件地址或電話號碼,之後,會要求我們選擇可接收安全碼的電子郵件或手機號碼。」
張瑩點了點頭:「是啊,這有什麼問題嗎?」
劉鑫繼續道:「我們必須在頁面中輸入收到7位數安全碼,才能對該帳戶密碼進行重置。但如果我們可以對7位數安全碼的所有組合進行暴力破解,我們將可以在未經許可的情況下重置任意用戶的密碼。但是,顯然為了應對這種暴力破解,微軟的後端肯定存在一定的速率限制,以阻止我們進行大量的嘗試。。」
劉鑫打開自己的小工具,隨意輸入了一個1234567的安全碼提交,然後將向代碼驗證端點發出的HTTP POST請求攔截,然後將攔截到的詳細代碼展現給張瑩看。。
「你看在這個請求的詳細代碼中,我們可以看出不存在我們輸入1234567安全碼。它已被加密,然後發送以進行驗證。我猜想開發人員這樣做的目的是為了防止自動暴力破解工具對其系統進行利用。」
張瑩:「你的意思是說,我們無法使用Burp Intruder之類的工具自動測試多個代碼,因為它們不會執行加密。那下一步是不是我們必須要搞明白這裡用的加密技術?」
劉鑫點了點頭道:「完全正確,不過這個問題不難,因為微軟所用的加密技術在過去幾年都沒有變化過,所以我很輕易的在一個國外的技術論壇上找到了幾種微軟常用的加密技術,我逐一測試後,找到了正確的加密方法,並且能夠自動的完成從加密代碼到發送多個並發請求的整個過程。。」
張瑩:「劉鑫你太聰明了,你是怎麼想到的,我怎麼就沒想到?」
劉鑫:「這個其實很簡單的,我其實沒有用太多的技術,你看我發現的這個漏洞,就是微軟已經公布了的,只是我喜歡閱讀他們的技術文檔,因為這對我來說閱讀這些技術文檔,對我的幫助很大,遠遠勝過只讀那些死板的教材。」
張瑩:「這就是社會工程學嗎?」
劉鑫:「可以這麼說,其實很多新漏洞,都是過往很多漏洞在其他方面的錯誤重複,我們大部分的時候,都可以根據以往的錯誤,來尋找新的漏洞,因為錯誤總是會重複出現,又或者說程式設計師總會犯差不多的錯誤。」
張瑩:「那測試的結果怎麼樣?」
劉鑫:「我的初始測試結果,表明存在速率限制,這符合我的預期。在發送的1000個代碼中,只有122個能夠成功通過,其他代碼則受到1211錯誤代碼限制。而且如果我們不斷發送請求,它們將阻止相應的用戶帳戶發送進一步的嘗試。」
「接下來,我嘗試通過發送並發請求,以繞過速率限制,從而允許我們發送大量請求。但是當注入正確的7位數安全碼時,我依然無法獲得成功的響應。這意味著,開發人員可能已經採取了一些控制措施來防止此類攻擊。」
「儘管在發送正確的安全碼時出現錯誤,但是並沒有出現我們在初始測試中遇到的阻止用戶的跡象,所以我的希望並沒有完全破滅。」
「之後我突然意識到,如果我們發送的所有請求沒有同時到達伺服器,則伺服器會將IP位址列入黑名單。即使請求之間的延遲間隔只有幾毫秒,伺服器仍可以檢測到攻擊並進行組織。想通這一點後,我立即調整了代碼以處理這種情況,並再次對其進行測試。。」
「令人驚訝的是,它生效了,這次我獲得了成功的響應。我一共發送了約1000個左右七位數的密碼,其中包含正確的那一個密碼,並能夠成功進行下一步更改密碼。」
張瑩:「我有個問題,剛剛你說的,上面的過程僅對未啟用雙因素身份驗證的用戶有效,因為如果用戶啟用了雙因素驗證,我們必須繞過雙因素身份驗證代碼才能更改密碼。」
劉鑫點了點頭道:「是的,我對一個啟用了雙因素驗證的帳戶進行了測試,我發現其同樣也容易受到此類攻擊。啟用雙因素驗證的帳戶在重置密碼時,首先會被要求輸入由身份驗證器應用程式生成的6位數字代碼,驗證通過後,才會被要求輸入發送到其電子郵件或電話號碼中的7位數字代碼。
「這意味著,攻擊者必須同時發送6位和7位安全碼的所有可能性,我計算了一下大約會有1100萬次請求嘗試,以更改任意微軟帳戶的密碼。」
「要發送如此大量的並發請求並不是一件容易的事,攻擊者需要需要大量的計算資源以及數千個IP位址才可能成功進行攻擊。所以我沒有辦法進行更進一步測試了,但是以我目前的成果,應該可以拿到那5萬美金的獎金了。」
張瑩:「五萬美元的獎金,那換算成人民幣豈不是有30萬,劉鑫你發財了啊。沒想到還能有這種方法賺錢。」
本章未完,點選下一頁繼續閱讀。