通常大家在入侵网站的时候得到了管理员密码的md5散列,然后到md5等在线破解网站上去解密,因为有些管理员的疏忽,密码设置的复杂程度不够而轻易的就被破解出来了。这里我教大家一个简单修改asp源代码的方法,就可以让那些入侵网站的朋友即使拿到了md5也没有用,就算md5被跑出来了,在登陆的时候也会提示密码错误。说的挺玄的,难道真的有这种效果吗?大家一起来看看吧!
首先我们看下面的源代码。
这是我简单写的用户注册提交页面的源代码,大家注意这句“rs(“admin_pwd”)=md5(userpwd)”,这就是网站常用的md5加密方式。为什么说网站常用的呢?因为我在下载的源码里100%都是这么加密的。现在我把它改成“rs(“admin_pwd”)=md5(“xzl”&userpwd)”,也就是说被加密的密码是xzl+用户输入的密码。
我们就以密码“111111”为列,它经过md5加密后为965eb72c92a549dd,而经过我修改的md5值为f98e04c29c666879,把修改的md5值拿到md5在线解密网站上去解密,查询结果为not fond。由此可见我们只是经过简单的修改就可以增加了密码的强度,简单的密码也变得复杂了。当然即使查询出结果我们也不怕,我们就以xzl111111作为密码进行登录,也不能成功登录的,因为登陆验证的语句同样为“(“admin_pwd”)=md5(“xzl”&userpwd)”,所以只有为“111111”的时候才能正常登录。如果这里我不和大家说,大家又怎么能找到或者猜出无法登陆的原因呢!当然这里的“xzl”大家也可以随便设置成我们想要的字母,或简单或更复杂。至于php的就不列举了,方法与此类似。
为了再进一步加强密码的安全系数,我们可以分别把管理员的密码设置为xzl前缀,普通用户设置为u_s_e_r前缀,这样叫入侵网站或去跑密码吧,他一定会望而却步的。怎么样?不错吧!只是简单的修改,就增加了网站的安全系数。当然什么事情也不是绝对的,希望大家能够想出更好的加密方法。