小谈MD5的破解实现(原创)

小谈MD5的破解实现(原创)
fooying(H.U.C)
QQ:413673800
email:zhangzuyou@vip.qq.com
blog:http://hi.baidu.com/fooying
  md5,我想经常研究网站入侵的人对这个词一定不陌生。往往在获得一个网站的注入点后,在经历猜解表名、猜字段、猜字段值后获得管理员帐号、密码,接下来就是查询破解md5值了。因为大部分的网站对于密码都进行了MD5加密,需要查询、破解才能得到明文密码。
  说道md5破解,不得不介绍下md5.MD5全称为Message_Digest Algorithm 5.MD5将任意长度的字符串变成一个128b的大整数。MD5加密是一种不可逆的字符串变换算法。所以我们无法对MD5值进行逆计算而得到明文密码,只能破解。等于说,如将“admin”字符串加密得到其MD5值“7a57a5a743894a0e”这个过程是单向的,你无法再通过MD5算法将“7a57a5a743894a0e”变为“admin”。而我们平常对MD5值的破解只能是暴力破解或在线查询。
  接下来说说破解,最省时最省力的方法是在线查询破解。就是将得到的MD5值提交到形如xmd5.com这样的网站进行在线查询。其原理是这类网站收录了许多字符串及其对应的md5值。我们提交一个md5值进行查询,其查询系统会在服务器的数据库内查找已收录的数据的md5值字段的记录,查看是否有条记录值与我们提交的md5值一样的,如果一样,说明查询到,直接返回对应的原文字符串。如
假如其服务器上的数据库含有char、md5两个字段,数据如下
  ID char md5
1 abc 3cd24fb0d6963f7d
2 admin 7a57a5a743894a0e
如果我们提交“7a57a5a743894a0e”,那么会返回“admin”;而如果提交 123asd,由于不存在该条记录,所以会返回空。这种方法破解的成功在于提供查询网站的数据记录收藏的数量。缺点也是一样的,如果没收录,那么查询不出来;还有现在部分查询网站也进行收费查询服务。
  另一种MD5值的破解方法为软件暴力破解。如MD5Crack2.exe就是属于这一类破解的专用软件。这类破解我把他分为两种情况:1、字典破解;2、生成破解。
  字典破解就是调用形如pass.dic的文件,该文件内已经包含许多很能成为密码的字符串。在破解过程中,破解软件会一条条读取其中的字符串进行md5加密,然后将产生的md5值与使用者提交的md5值字符创串对比,一样,说明原文密码就是该条提取出的字符串。不一样的话,继续提取下一条,知道破解出来或者字典文件内的字符串全部都提取完了。而生成破解,就是不读取字典文件,而是软件自己生成一条条可能为密码的字符串,执行字典破解的操作,不正确,继续生成,继续对比,正确退出线程,将结果输出。两种方法,前者看字典的强大程度,后者看软件生成的字符串。
  其实都是看运气的,还有欲破解md5值的原文密码的复杂度。也复杂,也容易被网站收录,也越容易存在与字典文件内,同时软件也越容易生成。所以我们平常为什么说密码需要设置复杂点,原理就在这。md5值的破解,最终总结就是看人品,或者你的经验足的话,可以在字典文件加入你认为的密码原文,说不定就破解出来了。好了,这就是md5值的破解,写来给新入门的新手学习下。

用户系统信息:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)