本文轉自https://blog.csdn.net/stpeace/article/details/77860374?locationNum=1&fps=1
撞庫是黑客通過收集互聯網已泄露的用戶和密碼信息,生成對應的字典表,嘗試批量登陸其他網站后,得到一系列可以登錄的用戶。很多用戶在不同網站使用的是相同的帳號密碼,因此黑客可以通過獲取用戶在A網站的賬戶從而嘗試登錄B網址,這就可以理解為撞庫攻擊。
-
(1)遠程下載數據庫文件
-
這種拖庫方式的利用主要是由於管理員缺乏安全意識,在做數據庫備份或是為了方便數據轉移,將數據庫文件直接放到了Web目錄下,而web目錄是沒有權限控制的,任何人都可以訪問的;還有就是網站使用了一些開源程序,沒有修改默認的數據庫;其實黑客每天都會利用掃描工具對各大網站進行瘋狂的掃描,如果你的備份的文件名落在黑客的字典里,就很容易被掃描到,從而被黑客下載到本地。
-
(2)利用web應用漏洞
-
隨着開源項目的成熟發展,各種web開源應用,開源開發框架的出現,很多初創的公司為了減少開發成本,都會直接引入了那些開源的應用,但卻並不會關心其后續的安全性,而黑客們在知道目標代碼后,卻會對其進行深入的分析和研究,當高危的零日漏洞發現時,這些網站就會遭到拖庫的危險。
-
(3)利用web服務器漏洞
-
Web安全實際上是Web應用和Web服務器安全的結合體;而Web服務器的安全則是由Web容器和系統安全兩部分組成,系統安全通常會通過外加防火牆和屏蔽對外服務端口進行處理,但Web容器卻是必須對外開放,因此如果Web容器爆出漏洞的時候,網站也會遭到拖庫的危險。
-
社工方面大概有如下幾種:
-
(1)水坑攻擊
-
黑客會利用軟件或系統漏洞,在特定的網站上進行掛馬,如果網站管理員在維護系統的時候不小心訪問到這些網站,在沒有打補丁的前提下,就會被植入木馬,也會引發后續的拖庫風險。
-
(2)郵件釣魚
-
黑客會利用一些免殺的木馬,並將其和一些管理員感興趣的信息綁定,然后通過郵件發送給管理員,而當網站管理員下載運行后,也會導致服務器植入木馬,引發后續的拖庫風險。
-
(3)社工管理員
-
對目標網站的管理員進行社會工程學手段,獲取到一些敏感后台的用戶名和密碼。從而引發的后續拖庫。
-
(4)XSS劫持
-
有時黑客也會為了獲取某一些網站的帳號信息,他們會利用網站釣魚的手段去欺騙用戶主動輸入,但這種方式只能獲取部分帳號的真實信息,並沒有入侵服務器。
四,黑客怎樣解密得到的數據:
通常情況下,數據庫中的個人信息如,郵箱 電話 真實姓名 性別 等都是明文存儲的。而密碼通常經過MD5加密之后存儲。黑客可以很輕易地把他需要的且是明文存儲的數據從數據庫中剝離出來。而MD5加密之后的數據這需要一定的解密流程才能看到明文。通常解密MD5的方法有,暴力破解,字典破解和彩虹表。
(1)暴力破解
暴力破解這是一種"時間消耗型"的破解方法,確定了密文的加密方式的前提下,使用相同的加密算法,計算
M = H(P)
P為所有的明文空間
H為加密算法
M為密文
然后將計算得到的M和待破解的密文進行比較,如果匹配成功,則對應的明文P即為待破解密文的明文。值得注意的是,這個枚舉P和比較M的過程往往是在內存中進行的,也即在計算的過程中一邊產生,一邊比較,這次破解結束后,下一次破解又要重新開始從頭枚舉,效率不太高。
(2)字典破解
字典破解本質上還是"暴力破解"的一種,在字典破解中,攻擊者是對所有的明文(M)進行預計算,將所有的明文的HASH都事先計算好,並保存起來。典型的MD5字典如下:
-
....
-
password 5f4dcc3b5aa765d61d8327deb882cf99
-
admin 21232f297a57a5a743894a0e4a801fc3
-
cnblog efbc3548e65e7225dcf43d3918d94e6f
-
....
在進行破解的時候,破解程序將字典映射Mapping到內存中,然后將HASH和待破解的密文進行逐條比較(這點和暴力破解是一樣的),直到找到某條HASH和待破解的密文相同為止。
值得注意的是,基於字典的暴力破解時間上比單純的內存計算型暴力破解更有效率,只要一次的"字典生成"花費一定的時間,后續的多次破解都可以重復使用這個字典。
注意,這里說的"字典"指的對應某個算法的字典: MD5 Directory、SHA1 Directory、NTLM Directory等等。
總的來說,字典攻擊是對單純的內存型暴力破解的一個改進,它引入了預處理的思想,但缺點也很明顯,需要占用及其龐大的磁盤空間,以至於對於長度16以上的密碼字典,完整存儲根本不可能。
(3)彩虹表
這是對暴力破解和字典破解的一種折中的破解技術,在2003年瑞典的Philippe Oechslin 在Making a Faster Cryptanalytic Time-Memory Trade-Off一文中首次被提出,它有效的利用了預處理的優點,同時又克服了字典破解消耗太大磁盤空間的缺點,在這兩者中找到了一個平衡點。(具體實現技術請讀者自行百度)
-