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

放棄或者人工滲透

如果以上兩部都沒有結果,說明站點安全做的還可以,這時候就要出動人力做苦力滲透,旁路,apt滲透,或者直接放棄換另一個站點。

關於一些掃描滲透的工具和教程可以關注筆者,看筆者的文章和github倉。也可以留言索取。


蟲蟲安全

最簡單明瞭的答案就是。所有電腦程序都需要通過編程語言來實現系統的構建。但所有編程語言都逃不了程序語法和運算邏輯等要點。簡單舉例asp,php語言等動態web語言。這些程序語言在俾發明者創造出的時候就已經存在一些語法或者邏輯上的問題。而黑客就是最熟悉這些程序語言的人群之一,所以他們會根據每個目標系統的特點,再通過已知的編程語言邏輯上存在的邏輯漏洞對系統進行測試。當然,編程語言的邏輯漏洞是可以通過規範的程序編寫來避免錯誤。但現今的信息系統架構尤其複雜,已經不是以前的一兩個靜態頁面那麼簡單了,所以很容易就會產生漏洞的。總結:有些系統漏洞是因人為的不規範導致的,也有些是因為系統工程龐大而出現的邏輯漏洞。而黑客就是通過尋找這些漏洞從而實現目的。


互聯網稻草人

為什麼黑客能夠找到漏洞?

我是一個學Python的web開發的,在web這方面我比較瞭解,所以主要從這方面去講解,其他的其實也很類似,但不一樣,可以進行類比。

web方面其實不是需要知道源碼的,當然,你能夠知道的話,那可能就更方便了。首先,黑客會去試探你的服務器,如何試探呢?通過進行一些合法的請求,通過你返回的這些信息中,能夠得出你的服務器類型,你是用什麼語言來寫的(當然,這個判斷不一定準)。

就如一個黑盒子,黑客不斷地根據輸入和輸出,來了解你的整個web(或者說是服務器或者網站)。

在網站方面,很多的漏洞都出在輸入上,有輸入的地方,就需要去防止黑客。這是為什麼呢?舉個例子,如果一個博客,它有一個評論功能,你評論完成之後就會返回到這個頁面上(就是可以看到你的評論),假如,你現在輸入的評論不是一個正常的評論,而是一段代碼(js,h5,sql語句都有可能),再如果,你沒有對這些東西進行過濾或者轉義的話,那麼你就會將一個可能帶有不可預測性的代碼加入到你的網站裡面了。(很可能用戶只要進入這個頁面,那麼他的信息就會暴露,然後進一步感染電腦。)

再說一下,用前端框架很容易出現漏洞,因為防黑客的必須是後端,前端是為了用戶體驗,減小服務器壓力,如果由於前端將這些過濾的事情做了,而後端由於疏忽沒有去做,那麼黑客是完全可以繞過前端的檢測,攻擊後端(你的服務器。)

另一個很重要的就是sql注入,比如一個請求,你是直接用這些參數去數據庫取數據,那麼如果這些參數是一個sql語句,修改你的數據庫權限(通常是通過一些其他的信息來獲取數據庫的類型,如查看報錯信息等等),如果你進行了過濾,但是不周全的話,可以進行轉碼,然後你的數據庫還是會執行這些漏洞。

我的回答差不多就結束了,想要獲取更多關於黑客的好玩的東西,可以關注我哦~~~~


還有一點點需要提一下,就是如果獲取到了你的服務器,數據庫,代碼等等,黑客通常會先查看一下已經出現的漏洞,進行窮舉法(一般是用黑客軟件進行)。

再對於軟件這方面的,一個是,通過下載了惡意軟件(通過獲取了權限,然後就可以完全掌控你的計算機),一般是偽造相似的軟件,其實你的應用軟件越多,留下的後門的可能性就越大,每個軟件都有一定的權限,但是如果這些權限被黑客利用的話,就是一場浩劫了。


Python雁橫

黑客技術不值得炫耀!不需要宣傳!

1,網絡安全領域,一個漏洞一見光,它的生命週期就很快結束了。因為這個領域永遠是攻防對立,此消彼長的前進。

2,高手在民間,一個高級黑客永遠不會去炫耀技術。他甚至不缺錢,無論技術是他謀生的手段或者不是。自古邪不勝正,因為邪若勝正,人類早就滅亡了。所以一個高級黑客一定會利用自己的技術為世界也好,國家也罷,社會也對,做出貢獻,推動他們更好的發展,實現自己的個人價值。


手機用戶12409255373

WEB方面已經很多人回答過了,我就不再重複。我在來現在的工作崗位以前,因個人愛好從事過漏洞挖掘工作。

首先我們知道,任何程序,計算機在執行的時候都是二進制的,二進制可以直接翻譯成彙編語言,因為彙編是對二進制的助記符,這個是沒有任何難度的。

在沒有源碼的情況下,我們可以通過調試工具跟蹤程序的執行,調試工具會把程序執行的每一步都翻譯成彙編代碼呈現給我們。常用的調試工具在ring3級有ollydbg,靜態分析工具IDA等,這個層面主要是挖掘應用程序的漏洞,比如………網絡遊戲(我已經退出江湖很多年了,別問我怎麼做,也沒有保留源代碼了)。

windows等操作程序靜態分析可以在使用IDA將相關的dll文件等系統文件進行靜態分析,動態跟蹤就要在ring0級進行調試了,早期我們一般使用softice,現在都是windbg,雙機聯調或者虛擬機。

熟練的調試人員閱讀這些彙編代碼,很容易就能翻譯成自己熟悉的任何一種高級語言代碼,比如C語言,甚至易語言。通過反彙編,我們可以發現一部分簡單的,低級的漏洞,通過動態跟蹤可以修改相應的參數來驗證漏洞,也可以發現新的漏洞。在熟練的技術,知識儲備之外,更多的……發現漏洞還靠運氣!


社保工作者

首先題主的感覺是對的,黑客確實比普通開發或者普通安全人員有著不同的視角。

普通測試人員一般對程序進行黑盒測試,也就是功能測試,數據驅動測試,或者規格說明測試。通過使用整個軟件或某種軟件功能來嚴格地測試, 而並沒有通過檢查程序的源代碼或者很清楚地瞭解該軟件的源代碼程序具體是怎樣設計的。測試人員通過輸入他們的數據然後看輸出的結果從而瞭解軟件怎樣工作。而一般的安全人員測試基本從白盒測試開始,也就是通過程序的源代碼進行測試而不使用用戶界面。這種類型的測試需要從代碼句法發現內部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤,進而加以修正。對於黑客,他們挖洞的方式絕對不僅僅限於黑白盒測試,除了一些常規挖洞方式,比如sql注入、請求截獲,參量,窮舉ddos,xss漏洞等,黑客們還有一套他們自己編寫的一套掃描漏洞的程序,他們挖洞的視角是全局視角,任何程序都不可能做的天衣無縫,黑客們總會在某個細微的地方找到漏洞。打個比方,普通測試用肉眼,而黑客們用的是顯微鏡。

另外,任何自稱為黑客的人對各種底層技術研究得比較深入。

比如http請求的底層原理,要經歷多少次握手多少次響應,每次攜帶什麼類型的數據包,怎麼才能截獲數據包……平時我們見到的外掛程序很多都基於此,基本上都是截獲篡改數據包。還有一方面,黑客的成長過程也會研究各種sdk的源碼,特別是涉及程序安全的源碼,然後有針對性編寫一套套各種各樣掃描漏洞的程序,以此幫助他們發現漏洞。

作為一個碼農,接觸的圈子裡有不少研究安全的,當然他們還算不上黑客,僅僅是把別人的服務搞down機或者破解一些賬號看看下程序後臺到底有什麼東西,以此作為可以吹牛或炫耀的談資,沒做什麼傷天害理的事。

最後我想說的是,黑客和安全人員都是程序世界不可或缺的。黑客的攻,安全的防,一攻一防才推動著程序安全技術不斷革新和發展,這種攻防模式才使得我們這些程序開發人員在編寫代碼時時刻保持警惕和審慎的態度,編寫好每一行安全的代碼。


分享到:


相關文章: