欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

黑客為什么可以做到無需知道源碼的情況下找出系統漏洞

林國瑞2年前17瀏覽0評論
黑客為什么可以做到無需知道源碼的情況下找出系統漏洞?

感謝邀請。

每天活躍在互聯網上的應用成百上千萬,包括PC端以及目前越來越主流的移動端,不僅有通過瀏覽器訪問的,還有需要安裝客戶端的,不僅有與服務器強交互的,還有獨立運行的本地軟件。

而這其中,開源的(包括開放源碼的)產品少之又少。但,這并不妨礙一個黑客找出其中的漏洞。換句話說,找漏洞并不需要源碼。

當然了,在有源碼的情況下,挖洞是一件難度系數指數下降的事情。雖然讀懂一個大型軟件源碼耗時又耗力,但對于黑客來說,可以略去其中大半的代碼來閱讀,只關心可能造成危險的部分。就像一名建筑工程師看一份大樓的施工圖,要看懂大樓的結構、建筑材料、水電線路等等各方各面,而對于《Prison Break》中的Michael Scofield可能只關心地下管道的分布。

那么,在沒有源碼的情況下,黑客怎么挖洞呢?這種情況,我們可以稱之為黑盒。而挖洞,的確需要與程序編輯者持有完全相反的角度和看法。對于輸入輸出點,程序猿考慮的是正確的輸入獲得正確的輸出,而黑客則考慮特殊的非法輸入獲得異常的有價值輸出。那系統登錄來說,程序猿考慮的是用戶輸入注冊的用戶名、口令能夠在登錄時與數據庫中的數據匹配成功,而黑客則會嘗試引起數據庫查詢異常的輸入作為用戶名、口令內容,希望應用返回更多數據庫中的有效數據。

對于黑客來說,不知道源碼情況下,只要有輸入就可以了,不管是應用具有的功能頁面,還是一個輸入接口,通過一種叫做模糊測試的技術就可以開始你的挖洞之旅。模糊測試可以構造一系列正常和異常的輸入值,根據應用的返回來判斷脆弱點的存在。

在黑客的武器庫中,模糊測試只是其中一個利器,像什么漏掃、逆向、脫殼、注入、暴破等等不一而足。

作為程序猿,在編寫程序時不僅要從正向角度完成應用的功能,還需要從黑客角度逆向分析應用在處理異常輸入時的反應,才能做出高安全的應用。