詳解MD5加密算法中的加鹽值
您是否遇見過破解不了的MD5值?你是否遇見過‘奇形怪狀’的hash?這些非常有可能就是帶有salt(俗稱加鹽值),本文將為大家介紹關(guān)于加鹽值的一些信息。

1. 什么是加鹽值?
為了加強(qiáng)MD5加密算法的安全性(本身是不可逆的),從而加入了新的算法部分即加鹽值,加鹽值是隨機(jī)生成的一組字符串,可以包括隨機(jī)的大小寫字母、數(shù)字、字符,位數(shù)可以根據(jù)要求而不一樣,使用不同的加鹽值產(chǎn)生的最終密文是不一樣的。
2. 代碼中如何使用加鹽值?
由于使用加鹽值以后的密碼相當(dāng)?shù)陌踩?,即便是你獲得了其中的salt和最終密文,破解也是一個耗費(fèi)相當(dāng)多時間的過程,可以說是破解單純MD5的好幾倍,那么使用加鹽值以后的密文是如何產(chǎn)生的呢?
1).首先我們得到的是明文的hash值
2).進(jìn)行計算獲取MD5明文hash值
3).隨機(jī)生成加鹽值并插入
4).MD5插入加鹽值得到的hash
5).得到最終的密文
3. 如何破解出帶有加鹽值的密文
因?yàn)橄駑indows hash(未進(jìn)行syskey加密)、非加鹽值MD5等都可以通過大型的密碼(如彩虹表)表進(jìn)行對比解密,所以相對而言相當(dāng)?shù)妮p松,而帶有加鹽值的密文就相對而言復(fù)雜的多,現(xiàn)在的MD5表大概是260+G,如何加鹽值的可能性有10000個,那么密碼表的應(yīng)該是MD5 size*10000,就可以解密出原MD5表能夠解密的密碼了,一些網(wǎng)站也提供了對應(yīng)的salt解密,但是測試以后效果并不是非常好,如常規(guī)的admin888也未解密出,實(shí)在是遺憾,畢竟MD5本是不可逆的,帶入隨機(jī)值解密出最終密碼的可能性就更低了,至少是相對大多數(shù)人而言的。
4. 含加鹽值MD5加密算法的應(yīng)用
目前多家的網(wǎng)站程序公司都已經(jīng)加入了該算法,如常見的VBB論壇、discuz論壇等都采用了,甚至著名的Linux開源操作系統(tǒng)早已經(jīng)加入了這種加密模式??傻枚@種算法勢必會在未來應(yīng)用于更多的范圍。
5. 如何滲透帶有加鹽值的站點(diǎn)(實(shí)際案例)?
這一段信息是來源于我近日實(shí)際滲透的片段,由于通過多種途徑無法解密帶有加鹽值的密文,所以只能通過其他方式進(jìn)行突破,本欲修改管理員密碼來進(jìn)行操作,但站點(diǎn)是通過多個網(wǎng)站對比密碼的形式,如站A和站B,我如果修改站A的密碼,一旦對比站A和站B,那么將會提示無法登陸,因?yàn)槲抑粨碛幸粋€站的管理權(quán)限,那么這樣就非常的麻煩了,一是密文無法破解,而是修改密碼無效。那么我們應(yīng)該如何處理呢?這里簡述下本人在這里應(yīng)用的方法:
1).修改admin uid為沒有啟用的某值
2).將自己的注冊用戶修改為admin uid的值
重新登陸,并成功獲取權(quán)限,因?yàn)樵谡続中式依據(jù)uid來分配權(quán)限的,也就是給某uid管理員權(quán)限,如何而言輕松獲取到管理員權(quán)限。









