03.03 黑客怎樣做到無需知道源代碼的情況下找到系統漏洞?系統漏洞有幾種形式?

Aries白326


絕大部分的黑客尋找系統漏洞都不需要知道源代碼,因為源代碼大多都是保存在系統研發公司的內部服務器上,外網一般是不能訪問這些服務器的。而放在線上服務器的系統文件,黑客如果想要獲取下來,也是需要攻破服務器,如果服務器都攻破了,我還要你係統文件幹嘛?

那麼,黑客一般的攻擊手段有哪些呢?

首先,黑客基本不會手工的去攻擊某個系統或者服務器,都是通過一些工具來完成的,通過編寫少量的代碼,然後工具包裝以後,向服務器或者系統發送請求。

最常見的攻擊手段之一:注入攻擊

注入攻擊也較SQL注入攻擊,是對於系統的危害是非常大的一種攻擊方式。所以也是安全性測試中,必須要封堵的一種漏洞。原理其實也非常簡單,就使用類似爬蟲一樣的工具,找到系統中所有的請求地址,然後在請求參數中構建一段注入的代碼,一旦系統中存在注入的漏洞,那麼這段代碼將會在數據庫中執行。

那麼比較簡單的結果就是,數據庫被注入了一段木馬腳本,所有用戶登錄這個系統時,都被感染了木馬;或者是把一個管理員用戶給加入到了系統中,黑客就通過這個用戶登錄到了你的管理後臺。那更為嚴重的可能就是注入了一段刪除數據庫的腳本,你的所有數據都被刪除乾淨。

最常見的攻擊手段之二:重放攻擊

對於黑客來說,他們有很多的手段可以截獲你的請求消息。例如:你如果連接了一些公共的Wifi,那麼你的消息包就可能被黑客截獲。

但是,由於你所使用的APP在請求前是進行了消息加密的,黑客們想要破解密文難度很大,那麼,最簡單的方式就是把報文原封不動的再次發出去,從而對發送端用戶造成一些麻煩。

當然,重放攻擊這種手段大多數時候都是損人不利己的。可能就是有的用戶在發了一條微博,微博系統也沒有做冪等性的效驗,那麼黑客就不停的向微博推送這個消息,導致你的微博賬號裡面連續發送了成百上千條的同樣文章。

不過,如果這條消息是你的轉賬請求,那麼如果遭遇到了重放攻擊,那麼損失的就是真金白銀了,所以,手段雖然比較low,但是危害也可能不小。

最常見的攻擊手段之三:點擊劫持

點擊劫持其實是一個非常小的系統漏洞,黑客通過在你打開的網頁中設置一個透明的區域,裡面放一些他希望你做的動作,但是你其實是看不見的。當你點擊頁面上的某個按鈕時,可能就會發生出乎你預料的事情。這種攻擊方式就是點擊劫持。

這麼一個小漏洞的危害應該是可大可小,大部分時候,也就是騙騙你的流量。但是也有可能,騙取到你的一些賬號密碼信息。

當然,這些手段都是針對於系統上進行攻擊的手段。可能很多的頂級黑客不一定看得上這些手段,他們會直接針對於服務器進行攻擊。

如果要對服務器進行攻擊的話,那麼首要的就是端口掃描。如果我們有一點服務器的知識,我們可以去看看我們架設在互聯網中的服務器,基本上所有的服務器都被不明來源的工具進行著端口掃描。

端口掃描的目的是什麼呢?

端口有很多的意義,我們這裡僅僅說網絡端口。網絡端口就是計算機對外進行數據傳輸的一個出入口。很多端口,其實都有著特定的意義,例如:web網站的默認端口是80,mysql數據庫連接的默認端口是3306。

而通過端口掃描,就可以知道一臺計算機有哪些端口對外開放,如果是一些已知意義的端口,那麼就可以有針對性的進行破解操作。

針對端口的話,最常見的攻擊手段就是爆破。

也就是暴力破解。如果我們設置的密碼強度不夠的話,那麼分分鐘就可能被破解,那麼黑客就可能遠程控制你的主機,或者遠程連接上你的數據庫等等。那麼接下來,你的系統就是他想怎麼玩就怎麼玩了。還有可能,他會在服務器上留下新的後門,即使你修改了密碼,下次黑客還可以通過自己這次設置的後門遠程連接你的電腦。

所以,密碼別設置得太簡單。

在中美黑客大戰中,中國的黑客就展示了另一個常用的攻擊方式DDOS。

DDOS攻擊的原理非常簡單,就是使用多個計算機,在一個時間段內,想一個或多個目標發送需要回復的網絡請求。由於目標計算機的網絡承載和磁盤承載都是有上線的,突然接收到大量的網絡請求,就可能造成目標計算機的系統資源或者網絡資源瞬間消耗殆盡,從而無法繼續響應其他的網絡請求。

這種攻擊方式,一般都是用來癱瘓某個目標系統,手法也非常簡單粗暴,並且攻擊者很難被發現。所以,中美黑客大戰中,中國紅客就是通過這種攻擊方式,癱瘓了美國白宮的官方網站。

當然,黑客的手段還有很多很多,這裡並不能全部都一一介紹,而且科技在發展,黑客技術也在發展。但是,這個世界不需要黑帽子,在互聯網的暗網中,還存在著各種的沒有底線的交易,我更希望懂得黑客技術的人,成為白帽子、灰帽子,為網絡安全貢獻一份自己的力量。


會技術的葛大爺


黑客找系統漏洞並不一定要知道源代碼,大多依靠分析、理解、推測能力,經驗越豐富找漏洞越有優勢。而且就算知道源代碼,一般也不會把全部的源代碼看一遍來尋找漏洞,通常是集中在一些比較關鍵的地方,輔之邏輯判斷。

不依靠源代碼,一般可以通過以下步驟或方法找到漏洞:

1、瞭解基本信息。首先通過各種探測確定系統的基本信息,比如說用的是什麼OS,什麼DB,什麼組件,背後是什麼支持的等等,獲取這些基本信息還是比較容易的。

2、掃描。藉助掃描器瞭解對方開了什麼服務,這些服務有什麼反應,然後根據步驟進行一一核對,判斷這些已知框架的反應情況是否有異常。對於那些經驗不足的開發方來說,這種方法很容易發現紕漏,接下來只需機械勞動就好了。

3、遇到陌生的通訊層、服務層、應用層反應,利用各個年份的OWASP測試用例來試一下,然後各種注入、溢出、提權也嘗試一遍,還不行的話再一個個試構造測試套。

4、如果有應用層的話,註冊個賬號看看是怎麼跑的,瞭解其數據格式、協議和算法,然後再一個個注入看是否有漏洞,同時也順帶消耗一下資源,看看會不會崩潰。

常見的導致系統漏洞(信息系統)的情形一般有以下6種:


協議設計漏洞、流程問題、設計錯誤、軟件問題、人員操作問題、系統維護問題(主要由默認值不安全、維修系統、信任關係薄弱引起)。


趙廣亞


這個就看黑客的資深程度和系統的安全級別了,很多漏洞是已知的和認為的。如果碰到個資深黑客入侵一個菜鳥做的網站,可能黑客用幾行代碼就把網站爆庫了,這樣就直接可以看到數據庫中的帳號和密碼,如果密碼沒有做加密,或者是弱密碼,直接md5反查,網站就被攻破了。這就是老黑客的經驗。

如果網站有專門的安全維護人員,常見的系統漏洞都處理了,黑客就沒有那麼容易攻破。然後所有的數據安全防範做好,程序員的代碼漏洞也修復了,那你的系統和程序就沒有什麼功能性的漏洞了。


常見的系統漏洞有以下幾點


一、協議設計漏洞

1.安全問題常被忽視

一般設計人員制定協議之時,通常首先強調功能性,而安全性問題則是到最後一刻、甚至不列入考慮範圍。在網絡應用環境下,安全問題尤須更加註意。


2.架構問題

選用其它基礎協議時,必須要注意該協議是否易於瞭解、易於實作。就算費盡心思制定完善的協議,若架構在不穏固的基礎之上,其結果可想而知。


二、流程問題

設計協議時,可能考慮不夠周全,導致發生狀況時,系統處理方式不當。


三、設計錯誤

協議設計錯誤,導致系統服務容易失效或容易招受到攻擊。比如有的黑客攻擊服務器的MySQL服務,當服務崩潰時數據庫密碼就可能暴露出來。


四、軟件問題

1.程序錯誤

安全漏洞也常因程序撰寫習慣不良引起,其中包含常見的未檢查資料長度內容、輸入資料容錯能力不足、未檢測可能發生的錯誤、應用環境的假設錯誤、引用不當模塊、未檢測資源不足等。


五、人員操作問題

若操作人員未受過良好訓練、或未按手冊操作,同樣會導致安全漏洞。


六、系統維護問題

1.默認值不安全

許多軟件或操作系統在安裝完成後,是處於極度不安全的狀況下。而這些預設環境背後的理由竟是為了方便用戶,誠然,用戶是方便了,不過此處所指的用戶,範圍也同時包含了病毒、蠕蟲、特洛依木馬等等不速之客。

2.未修補系統

一般軟件多多少少都會有些錯誤,勤於修補才能讓系統免遭破壞,微軟系統和liunx系統定期都會放出一些修復補丁,用來完善系統的漏洞。

3.禍起蕭牆

或許你不願相信,但對系統發起攻擊的,通常是你信任的系統。在你信任的領域裡 (通常這信任關係太過薄弱) 若存在不夠安全的系統,這不夠安全的系統很快就會成為下次攻擊的跳板。比如ARP病毒,模擬網關,所有的數據通信都會訪問到有病毒的主機,這樣一來所有的電腦都有可能感染ARP病毒。一個領域的安全強度,等同這領域中最不安全系統的安全強度。


極客學習社


由於軟件編寫方式和操作系統的特點,大型的軟件幾乎都有漏洞。舉例來說一個類似qq登錄簡單的號碼錄入框,如果程序員疏忽沒有編寫限制錄入長度的代碼,當用戶錄入字符超過用於存儲號碼的變量的規定長度時,超出的字段將會溢出。溢出的編碼將會佔用電腦內存中其他變量的空間,相當於改寫了系統的參數,當然,這種漏洞一般會造成操作系統崩潰,常見效果就如同藍屏一樣。而黑客可以利用這些漏洞修改系統參數,取得操作系統的管理員權限,就可為所欲為忘了。而真正的黑客一般都自己編寫程序來掃描軟件的這些漏洞,差一點的黑客就是去下載這些掃描漏洞的軟件在網上不斷掃描他人的電腦。


安界


知道在哪找和有自己的系統程序


分享到:


相關文章: