适合读者:破解爱好者、站长
前置知识:无
改造MD5让破解程序见鬼去
文/图 安美洪(anmeihong@sina.com)
也许提到MD5时大家都很熟,但你真的了解它吗?虽然一般人是不用这样去寻根问底的,要用的时候直接去下载别人已编好的程序用就得了,但象我这样的好事者总想抓住点什么另类的东西——你有没有想过自己修改MD5?让网上漫天飞的MD5破解工具变得一无是处?要是有兴趣就往下看吧!
现在我们来看看如何修改网站管理程序的源码,让修改过的MD5成为不可破解的武器的。这里我以国内有名的动网论坛DVBBS7.0做说明。
我们都知道,动网论坛用户的数据和密码,提问的问题或答案都是以MD5散列存储的,通常攻击者就是下载了数据库来进行破解而得到管理员的密码,默认的是放在这个路径下:
bbs\data\dvbbs7.mdb
而我们一般是采用的是修改数据库的名字,同时相应的修改一下Conn.asp中的相关设置来实现安全防护的。现在我们的方法是找到\inc\md5.asp,这个页面就是我们进行散列处理的程序,只要在这修改一下的话,我们就产生了自己的新MD5散列算法。以记事本的方式打开它,找到这个地方。如图1所示:
图1
看到了吧?a、b、c、d这四个值就是我们前边谈的关键值,随你改!我建议改一位就可了,如你可把a = 0x67452301改为a = 0x67452300,这样你就用了一个与众不同的MD5算法,哪怕你的数据库被下载了,你也可以放心的使用,让他们破解MD5的工具见鬼去吧!
Icefire:了解MD5过程的人可能会问,这样改变会影响操作吗?这个问题相信搞纯数学研究的专家可能都很难把它论证,更别说我们这些门外汉。另一方面,MD5是征对所有信息的,而做如上的改变,仅仅用在一个网站上的几千、上万个用户,从概率学上讲应该是没有多大问题的,不信的朋友不妨试试,起冲突的可能性非常小。