读书人

由拖库强攻谈Discuz口令字段的加密策略

发布时间: 2012-08-09 15:59:21 作者: rapoo

由拖库攻击谈Discuz口令字段的加密策略

先转一篇文章:

// Discuz默认口令入库处理方式$passwd = md5( md5($passwd). $salt);// 有损处理的口令入库方式:$passwd = substr(sha1(md5($passwd). $salt), 0, 32) ;

?

改进的方式使用sha1算法主要目的并不是增加算法难度而是产生大于md5算法长度(32位)的字符串(40位)用于截取出标准md5长度字符串从而实现有损处理。这样处理的结果使得即使获得入库口令以及salt值也无法还原出用户原始明文口令,当然可以通过碰撞实现找到“可以通过登录验证的口令”,但用户原始口令安全性大大提高。

?

这种方式优点是sha1处理仅限于后台PHP流程中,不需要修改前台代码。

缺点是因为入库口令摘要方式变化,已经保存的口令将无法用于新方式验证,必须对 uc_client/control/user.php中 onlogin()函数做修改判断是否需要做DZ默认认证。 一个办法是数据库保存老的password及salt值,通过验证后写入新算法的值然后删除老的password及salt。

?

对加密、摘要算法不熟悉,不确定这种方式能否有效抵御字典攻击~

?

?

?

?

?

读书人网 >开源软件

热点推荐