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

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

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

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

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

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

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

圖7
三,總結(jié):
從本文來看MD5也并不是完全安全的,以往我們都認(rèn)為將密碼通過MD5加密后再保存即使被非法入侵者獲取也不可能計算出明文密碼來,然而通過本文實(shí)際例子我們可以看出這種想法是錯誤的,入侵者可以通過網(wǎng)站查詢與字典暴力破解等多個方法獲取MD5密文對應(yīng)的密碼明文,從而輕松入侵系統(tǒng)。因此我們在維護(hù)服務(wù)器和防護(hù)網(wǎng)站時一定不能夠大意,應(yīng)該彌補(bǔ)服務(wù)器站點(diǎn)上的每個漏洞,不給黑客任何機(jī)會來下載MD5加密密文,只有這樣才能夠?qū)⑵髽I(yè)服務(wù)器與網(wǎng)站打造得更加安全
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章