Md5(base64)加密与解密实战
Md5(base64)加密與解密實戰(zhàn)
在對某一個CMS系統(tǒng)進行安全檢測時,通過注入點獲取其管理員表中的管理員和密碼數(shù)據(jù),但由于不知道該密碼數(shù)據(jù)采用何種加密方式,雖然知道CMS系統(tǒng)管理后臺,但苦于沒有破解管理員的密碼,因此無法登錄系統(tǒng)。通過研究終于掌握了Md5(base64)加密原理和解密原理,因此才有本文。
Base64是網(wǎng)絡上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一,在發(fā)送電子郵件時,服務器認證的用戶名和密碼需要用Base64編碼,附件也需要用Base64編碼。Base64要求把每三個8Bit的字節(jié)轉換為四個6Bit的字節(jié)(3*8 = 4*6 = 24),然后把6Bit再添兩位高位0,組成四個8Bit的字節(jié),也就是說,轉換后的字符串理論上將比原來的長1/3。
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ù))。
(一)md5(dbase64)密碼
md5(dbase64)加密后的字符串長度為24位,最末尾有兩個“=”好,在字符串中有數(shù)字字母大小寫混在一起,如圖1所示,三個用戶以及其加密后的密碼字符串。md5(dbase64)這種加密方式在asp.net等CMS環(huán)境中會經(jīng)常碰到。
圖1 md5(dbase64)密碼
(二)從Google尋找破解之路
直接在Google上面對“md5(dbase64)加解密”進行搜索,一共約六條記錄,如圖2所示,而且從搜索結果來看,除了求助外,根本就沒有md5(dbase64)的加密和解密方法,從網(wǎng)絡來解決問題看來是不行了。
圖2 Google搜索結果
(三)自己動手豐衣足食——尋求解密方法
1.生成Hash值
以前曾經(jīng)寫過一篇Windows下面有關hash破解的文章,在InsidePro網(wǎng)站提供了在線Hash破解(http://hash.insidepro.com/)和在線生成各種Hash值,其在線生成Hash值網(wǎng)站地址為:http://www.insidepro.com/hashes.php?lang=eng,打開后如圖3所示。在password中輸入“author”,然后單擊“Generate”按鈕直接生成各種Hash值。
圖3 生成各種Hash值
2.比對Hash值和加密密碼值
在http://www.insidepro.com/hashes.php?lang=eng生成Hash值后的頁面中拖動滾動條,一個個的進行對照,通過比對在Base64加密中有一個明顯的特征,即加密字符串最后面一般都有等號。從中截取部分author的加密值如下:
Haval128(Base64):1xehfrgfAcMYLCdLcYiDlg==
Haval160(Base64):JPfaQRoHY0v/EJnXN9iKd9MfdbE=
MD2(Base64):d+K74ta9Vhbr4yuKzfCAZQ==
MD4(Base64):QPRz/CVV3O9EVOA/iCaOwA==
MD5(Base64):Ar2S+qOKqmzA6nXlmTeh7w==
“MD5(Base64):Ar2S+qOKqmzA6nXlmTeh7w==”跟圖1中的加密值一致,如圖4所示,驗證了該加密方式就是MD5(Base64)加密。
圖4 找到加密方式
3.尋找破解方式
(1)添加Hash值
從http://www.insidepro.com/eng/passwordspro.shtml頁面上我了解到passwordspro可以破解MD5(Base64)加密方式,但無法從該網(wǎng)站直接下載passwordspro,老外都是收錢的,呵呵,到國內(nèi)的一些下載網(wǎng)站下載passwordsprov2.5.3.0,然后運行該程序,右鍵單擊后選擇Add,如圖5所示,添加一個Hash進行破解,在Hash值中輸入“MD5(Base64):Ar2S+qOKqmzA6nXlmTeh7w==”,完畢后單擊“Add”按鈕完成Hash值的添加。
圖5 添加破解Hash值
(2)執(zhí)行暴力破解
單擊三角形按鈕,運行破解,如圖6所示,選擇暴力破解,在passwordsprov2.5.3.0中還有其它的破解方式,如圖7所示,還有“Preliminary Attack”,“Mask Attack”,“Simple Dictionary Attack”,“Combined Dictionary Attack”,“Hybrid Dictionary Attack”和“Rainbow Attack”六種破解方式。
圖6 暴力破解md5(base64)密碼
圖7多種破解方式
(3)破解成功
暴力破解方式太耗費時間,后面選擇了“Simple Dictionary Attack”(簡單字典攻擊),由于密碼在字典中,所以很快就破解出來了,如圖8所示,值得一提的是在InsidePro 官方網(wǎng)站提供了74個字典文件下載(http://www.insidepro.com/eng/download.shtml),喜歡的朋友可以自己去下載。在實際過程中這些字典仍然不夠,有些密碼設置往往超乎想象的復雜,除非有完整的彩虹表,否則暴力和字典破解的時間將非常漫長。
圖8 使用字典破解成功
(四)探尋md5(base64)的其它破解方式
1.base64解碼
網(wǎng)上有很多工具可以對base64編碼進行解碼,我先后找了兩款,一款是可以在linux和windows下運行的base64工具,其下載地址為http://www.fourmilab.ch/webtools/base64/,下載完畢后可以直接運行,其運行命令為“base64 –decode base64.b64 base64.tmp”,參數(shù)“—decode”或者“-d”表示解碼,“–encode”或者“-e”表示base64編碼。“base64.b64”是base64編碼后的文件,“base64.tmp”是解碼后生成的文件。在該工具目錄下還有一個bat文件,用來批處理解碼,如圖10所示。
圖9 base64解碼工具
圖10 執(zhí)行解碼批處理文件
2.編輯解碼文件
將md5(base64)加密后的密碼值“Ar2S+qOKqmzA6nXlmTeh7w==”復制到base64.b64文件中,如圖11所示。
圖11 編輯解碼文件
3.查看解碼后的文件
使用UltraEdit-32編輯器打開“base64.tmp”文件,如圖12所示,在“base64.tmp”文件中顯示為亂碼。關于這點我也很是奇怪,后面通過其它一些base64解碼工具進行解碼,其正常顯示結果仍然為亂碼。
圖12 查看解碼后的文件
4.獲取base64解碼后的md5值
在UltraEdit-32編輯器中,直接以二進制方式打開解碼后的文件base64.tmp,如圖13所示,將其中的二進制編碼進行整理,其結果為“02BD92FAA38AAA6CC0EA75E59937A1EF”一共32位,這個跟md5加密后的值有點像哦!將這個值復制到www.cmd5.com網(wǎng)站進行解密,如圖14所示,結果顯示為“author”。
圖13 獲取二進制的值
圖14 md5解密
5.md5(base64)加密原理
后面通過在線生成Hash值(http://www.insidepro.com/hashes.php?lang=eng)然后按照上面的步驟重新進行測試,結果跟上面的測試吻合。因此我們可以推測出md5(base64)加密解密方法。
(1)md5(base64)加密原理
(a)首先對字符串進行md5加密 md5(string)
(b) 然后對md5加密后的字符串進行base64編碼
(1)md5(base64)解密原理
(a)首先對md5(base64)進行base64解碼
(b)對base64解碼后的值通過二進制方式進行讀取,其結果應該為32位字符串
(c)對獲取的32位字符串進行md5解密。
(五)總結
在信息安全的領域,只有想不到的,沒有做不到的,只要努力、堅持和不斷嘗試,終究會有所收獲。通過對md5(base64)加密和解密原理的研究,最終成功獲取了該CMS系統(tǒng)的Webshell,如圖15所示,還是孫總說的對,網(wǎng)絡攻防的最終就是技術的對抗!歡迎來www.antian365.com(AST技術論壇進行技術探討),我的技術交流QQ號碼:525760451
圖15 成功獲取該系統(tǒng)的Webshell
轉載于:http://825635381.iteye.com/blog/2220602
總結
以上是生活随笔為你收集整理的Md5(base64)加密与解密实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF砖块消除
- 下一篇: Linux系统创建文件报错“E297: