從實戰(zhàn)的角度討論MD5加密的安全性(圖)
互聯網 發(fā)布時間:2008-10-08 19:02:38 作者:佚名
我要評論

一直以來MD5加密驗證的安全性都是非常高的,很多論壇和軟件都將用戶名對應密碼通過MD5加密后保存,和以往僅僅明文保存相比,MD5加密后的保存信息更加安全,畢竟MD5加密后的信息安全性更高,MD5加密方式也是單向的并不存在任何逆向破解。然而你是否知道MD5也并不是真正安全
一直以來MD5加密驗證的安全性都是非常高的,很多論壇和軟件都將用戶名對應密碼通過MD5加密后保存,和以往僅僅明文保存相比,MD5加密后的保存信息更加安全,畢竟MD5加密后的信息安全性更高,MD5加密方式也是單向的并不存在任何逆向破解。然而你是否知道MD5也并不是真正安全的,入侵者在獲得了MD5加密后的字符串后依然可以通過多種方法破解成明文密碼。下面就請各位IT168的讀者跟隨筆者從實戰(zhàn)討論MD5加密的安全性。
一,MD5加密簡介:
MD5是一種不可逆的加密算法,md5的全稱是message-digest algorithm 5。在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發(fā)出來,經md2、md3和md4發(fā)展而來。它的作用是讓大容量信息在用數字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的大整數)。
1991年,rivest開發(fā)出技術上更為趨近成熟的md5算法。它在md4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然md5比md4稍微慢一些,但卻更為安全。這個算法很明顯的由四個和md4設計有少許不同的步驟組成。md5的典型應用是對一段信息(message)產生信息摘要(message-digest),以防止被篡改。比如,在unix下有很多軟件在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如: md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
這就是tanajiya.tar.gz文件的數字簽名。md5將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產生了這個唯一的md5信息摘要。如果在以后傳播這個文件的過程中,無論文件的內容發(fā)生了任何形式的改變(包括人為修改或者下 載過程中線路不穩(wěn)定引起的傳輸錯誤等),只要你對這個文件重新計算md5時就會發(fā)現信息摘要不相同,由此可以確定你得到的只是一個不正確的文件。如果再有一個第三方的認證機構,用md5還可以防止文件作者的"抵賴",這就是所謂的數字簽名應用。md5還廣泛用于加密和解密技術上。比如在unix系統(tǒng)中用戶的密碼就是以md5(或其它類似的算法)經加密后存儲在文件系統(tǒng)中。當用戶登錄的時候,系統(tǒng)把用戶輸入的密碼計算成md5值,然后再去和保存在文件系統(tǒng)中的md5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。
二,從實戰(zhàn)討論MD5的加密安全性:
那么MD5就真的沒有任何安全問題嗎?即使黑客或入侵者獲得了MD5加密后的代碼就真的無法破解出真實明文密碼信息嗎?答案是否定的,在很多時候我們可以通過暴力破解的方法將MD5輕松破解。下面就請各位跟隨筆者從實戰(zhàn)了解MD5的加密安全性。
(1)獲取MD5密碼:
筆者目標網站是使用了青創(chuàng)文章管理系統(tǒng)XP測試版的一個文章發(fā)布平臺,經過掃描找到了他的后臺登錄地址http://xxx/admin_index.asp。(如圖1)
圖1
第一步:使用工具對目的網站進行掃描,查找其密碼和管理員用戶名稱。(如圖2)
圖2
第二步:經過掃描找到目的網站存在表名article_admin,并成功猜測出帳號字段名——username,帳號長度為五位,密碼字段名是password,猜測出密碼長度為16位。(如圖3)
圖3
第三步:繼續(xù)掃描破解得出帳戶長度五位用戶名是admin,密碼長度16位是6f9466a1dae2a6a6,根據經驗這個16位的密碼應該是經過MD5加密過的,我們直接輸入該信息作為密碼是無法順利登錄后臺的。(如圖4)
圖4
小提示:
MD5加密過的代碼字段都是16位的,所以根據經驗我們可以輕松判斷掃描出的信息是明文還是已經經過MD5加密過的。
(2)通過站點破解MD5密碼:
正如上文所說MD5是不可逆的算法我們只能夠通過暴力的方式來破解,當然網上有一些站點為我們提供了MD5速查的功能,該站點保存了大量的MD5密文與明文的對應數據,在這些網站查詢頁面輸入MD5加密過的16位代碼后將自動查詢其數據庫將找到的明文顯示給用戶。
在眾多MD5查詢網站里筆者覺得www.cmd5.com存儲量最大,該站點4T硬盤已經上線,目前有MD5記錄457354352282條,已經包含了12位及12位以下數字,8位字母,全部7位及以下字母加數字等組合。我們訪問后在代碼框中輸入要查詢的16位MD5加密代碼后點“MD5加密或解密”按鈕,在查詢結果處我們將看到該MD5代碼對應的明文信息了。從而實現了MD5密碼的順利破解。(如圖5)
圖5
(3)通過工具自定義規(guī)則暴力破解MD5密碼:
當然如果通過上面的網站無法查詢出MD5密碼的話,又或者我們已經知道明文的規(guī)則和種種蛛絲馬跡,那么我們還可以通過工具自定義規(guī)則來暴力破解獲得的MD5加密密文。這里筆者為各位介紹一個工具——MD5專業(yè)解密器加強版。
第一步:打開該軟件在MD5密文設置處輸入你獲得的MD5密文信息。該軟件可以破解單個密文也可以同時破解多個密文。(如圖6)
圖6
第二步:在密碼字符設置處我們可以根據是需要選擇使用的字符集,例如只數字,只字母等等規(guī)則。當然我們還可以自己設置字典文件,讓該工具加載字典進行暴力破解。另外該工具還提供了一些諸如生日字典的模板,通過該模板破解生日密碼解析的MD5值效果更好。
第三步:在主界面右邊我們可以設置密碼的長度和同時破解的線程數量,當然該工具提供了斷點續(xù)破功能,我們可以保存進度并隨時讀取進度。
第四步:這種通過工具針對MD5密文進行破解是需要花費一定時間的,具體時間長短隨著密碼復雜程度而不同,當軟件計算出密碼后會給出“發(fā)現一個密碼,用時XX小時XX分鐘”的提示。之后我們就可以利用這個解析出來的密碼和之前測試過的用戶名登錄目的站點的管理后臺了,從而成功入侵目的站點的文章管理系統(tǒng)。(如圖7)
圖7
三,總結:
從本文來看MD5也并不是完全安全的,以往我們都認為將密碼通過MD5加密后再保存即使被非法入侵者獲取也不可能計算出明文密碼來,然而通過本文實際例子我們可以看出這種想法是錯誤的,入侵者可以通過網站查詢與字典暴力破解等多個方法獲取MD5密文對應的密碼明文,從而輕松入侵系統(tǒng)。因此我們在維護服務器和防護網站時一定不能夠大意,應該彌補服務器站點上的每個漏洞,不給黑客任何機會來下載MD5加密密文,只有這樣才能夠將企業(yè)服務器與網站打造得更加安全
一,MD5加密簡介:
MD5是一種不可逆的加密算法,md5的全稱是message-digest algorithm 5。在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest開發(fā)出來,經md2、md3和md4發(fā)展而來。它的作用是讓大容量信息在用數字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的大整數)。
1991年,rivest開發(fā)出技術上更為趨近成熟的md5算法。它在md4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然md5比md4稍微慢一些,但卻更為安全。這個算法很明顯的由四個和md4設計有少許不同的步驟組成。md5的典型應用是對一段信息(message)產生信息摘要(message-digest),以防止被篡改。比如,在unix下有很多軟件在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如: md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
這就是tanajiya.tar.gz文件的數字簽名。md5將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產生了這個唯一的md5信息摘要。如果在以后傳播這個文件的過程中,無論文件的內容發(fā)生了任何形式的改變(包括人為修改或者下 載過程中線路不穩(wěn)定引起的傳輸錯誤等),只要你對這個文件重新計算md5時就會發(fā)現信息摘要不相同,由此可以確定你得到的只是一個不正確的文件。如果再有一個第三方的認證機構,用md5還可以防止文件作者的"抵賴",這就是所謂的數字簽名應用。md5還廣泛用于加密和解密技術上。比如在unix系統(tǒng)中用戶的密碼就是以md5(或其它類似的算法)經加密后存儲在文件系統(tǒng)中。當用戶登錄的時候,系統(tǒng)把用戶輸入的密碼計算成md5值,然后再去和保存在文件系統(tǒng)中的md5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。
二,從實戰(zhàn)討論MD5的加密安全性:
那么MD5就真的沒有任何安全問題嗎?即使黑客或入侵者獲得了MD5加密后的代碼就真的無法破解出真實明文密碼信息嗎?答案是否定的,在很多時候我們可以通過暴力破解的方法將MD5輕松破解。下面就請各位跟隨筆者從實戰(zhàn)了解MD5的加密安全性。
(1)獲取MD5密碼:
筆者目標網站是使用了青創(chuàng)文章管理系統(tǒng)XP測試版的一個文章發(fā)布平臺,經過掃描找到了他的后臺登錄地址http://xxx/admin_index.asp。(如圖1)

圖1
第一步:使用工具對目的網站進行掃描,查找其密碼和管理員用戶名稱。(如圖2)

圖2
第二步:經過掃描找到目的網站存在表名article_admin,并成功猜測出帳號字段名——username,帳號長度為五位,密碼字段名是password,猜測出密碼長度為16位。(如圖3)

圖3
第三步:繼續(xù)掃描破解得出帳戶長度五位用戶名是admin,密碼長度16位是6f9466a1dae2a6a6,根據經驗這個16位的密碼應該是經過MD5加密過的,我們直接輸入該信息作為密碼是無法順利登錄后臺的。(如圖4)

圖4
小提示:
MD5加密過的代碼字段都是16位的,所以根據經驗我們可以輕松判斷掃描出的信息是明文還是已經經過MD5加密過的。
(2)通過站點破解MD5密碼:
正如上文所說MD5是不可逆的算法我們只能夠通過暴力的方式來破解,當然網上有一些站點為我們提供了MD5速查的功能,該站點保存了大量的MD5密文與明文的對應數據,在這些網站查詢頁面輸入MD5加密過的16位代碼后將自動查詢其數據庫將找到的明文顯示給用戶。
在眾多MD5查詢網站里筆者覺得www.cmd5.com存儲量最大,該站點4T硬盤已經上線,目前有MD5記錄457354352282條,已經包含了12位及12位以下數字,8位字母,全部7位及以下字母加數字等組合。我們訪問后在代碼框中輸入要查詢的16位MD5加密代碼后點“MD5加密或解密”按鈕,在查詢結果處我們將看到該MD5代碼對應的明文信息了。從而實現了MD5密碼的順利破解。(如圖5)

圖5
(3)通過工具自定義規(guī)則暴力破解MD5密碼:
當然如果通過上面的網站無法查詢出MD5密碼的話,又或者我們已經知道明文的規(guī)則和種種蛛絲馬跡,那么我們還可以通過工具自定義規(guī)則來暴力破解獲得的MD5加密密文。這里筆者為各位介紹一個工具——MD5專業(yè)解密器加強版。
第一步:打開該軟件在MD5密文設置處輸入你獲得的MD5密文信息。該軟件可以破解單個密文也可以同時破解多個密文。(如圖6)

圖6
第二步:在密碼字符設置處我們可以根據是需要選擇使用的字符集,例如只數字,只字母等等規(guī)則。當然我們還可以自己設置字典文件,讓該工具加載字典進行暴力破解。另外該工具還提供了一些諸如生日字典的模板,通過該模板破解生日密碼解析的MD5值效果更好。
第三步:在主界面右邊我們可以設置密碼的長度和同時破解的線程數量,當然該工具提供了斷點續(xù)破功能,我們可以保存進度并隨時讀取進度。
第四步:這種通過工具針對MD5密文進行破解是需要花費一定時間的,具體時間長短隨著密碼復雜程度而不同,當軟件計算出密碼后會給出“發(fā)現一個密碼,用時XX小時XX分鐘”的提示。之后我們就可以利用這個解析出來的密碼和之前測試過的用戶名登錄目的站點的管理后臺了,從而成功入侵目的站點的文章管理系統(tǒng)。(如圖7)

圖7
三,總結:
從本文來看MD5也并不是完全安全的,以往我們都認為將密碼通過MD5加密后再保存即使被非法入侵者獲取也不可能計算出明文密碼來,然而通過本文實際例子我們可以看出這種想法是錯誤的,入侵者可以通過網站查詢與字典暴力破解等多個方法獲取MD5密文對應的密碼明文,從而輕松入侵系統(tǒng)。因此我們在維護服務器和防護網站時一定不能夠大意,應該彌補服務器站點上的每個漏洞,不給黑客任何機會來下載MD5加密密文,只有這樣才能夠將企業(yè)服務器與網站打造得更加安全
相關文章
- “CMOS密碼”就是通常所說的“開機密碼”,主要是為了防止別人使用自已的計算機,設置的一個屏障2023-08-01
QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒有提取OCR功能, 再次逆向我發(fā)現是可以本地調用QQ的OCR的,但翻譯按鈕確實沒啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04- QQ截圖是我用過的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨立版目前除了屏幕錄制功能其他都逆出來了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導致軟件無法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤分區(qū)安全時會采用 Windows 自帶的 BitLocker 加密工具對電腦磁盤分區(qū)進行加密。但有些人加密后就會忘記自己設置的密碼從而導致在安裝其它軟2020-11-25防止離職員工帶走客戶、防止內部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細介紹了如何才能防止離職員工帶走客戶、防止內部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-27徹底防止計算機泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計算機泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價值,2017-06-27- 最近有電腦用戶反應量子計算機可以破解下載的所有的加密算法嗎?其實也不是不可以,下面虛擬就為大家講解買臺量子計算機,如何分分鐘破解加密算法2016-09-26
怎么破解Webshell密碼 Burpsuite破解Webshell密碼圖文教程
webshell是以asp、php、jsp或者cgi等網頁文件形式存在的一種命令執(zhí)行環(huán)境,一種網頁后門。黑客通常會通過它控制別人網絡服務器,那么怎么破解webshell密碼呢?一起來看看吧2016-09-19- 本文討論了針對Linux系統(tǒng)全盤加密的冷啟動攻擊,大家都認為這種攻擊是可行的,但執(zhí)行這么一次攻擊有多難?攻擊的可行性有多少呢?需要的朋友可以參考下2015-12-28
防止泄露公司機密、企業(yè)數據防泄密軟件排名、電腦文件加密軟件排行
面對日漸嚴重的內部泄密事件,我們如何守護企業(yè)的核心信息,如何防止內部泄密也就成了擺在各個企業(yè)領導面前的一大問題。其實,針對內網安全,防止內部信息泄漏早已有了比較2015-12-17