ogion 发表于 2011-7-1 11:28:23

请教下还有人知道Radiusmanager是怎么用md5存用户密码啊

查看了数据库,用户的密码都是MD5存储的
如果使用CHAP协议,按照协议,NAS发送给Radius服务器的用户密码是经过加密的,加密算法是MD5(chapid+用户输入的明文密码+Challenge),用户的明文密码是参与加密密码md5运算的,但是发送到RM后,收到加密密码后需要根据数据库里的用户密码比较,也需要使用MD5(chapid+数据库里存的密码+Challenge),但是数据库里并不是明文,是md5加密后的数据,这样,两边参与md5运算的内容就不一致,得出的md5值也不一样啊,rm是怎么来判断密码是否正确的呢。
自写的radius服务软件,数据库使用明文存储密码已经没有问题,但是就是不知道数据库怎么采用md5存储用户密码了

jearry 发表于 2011-7-1 14:02:08

本帖最后由 jearry 于 2011-7-1 14:04 编辑

回复 ogion 的帖子

没错,就是这样的.

但是RadiusManager里是保存了两份密码的:
rm_users里面保存的是密文:md5('password')
认证过程是从radcheck表里获取明文密码用于认证的,用SELECT * FROM radcheck WHERE username = 'username'就可以看到里面保存的明文密码了

fyfal 发表于 2011-7-1 19:16:11

LZ把自己写的RADIUS软件放出来啊

jt00278 发表于 2011-7-1 20:42:24

路过,看看……

ogion 发表于 2011-7-2 07:10:30

jearry 发表于 2011-7-1 14:02 static/image/common/back.gif
回复 ogion 的帖子

没错,就是这样的.


果然,明文密码存在radcheck表里,我说rm咋知道用户密码的,原来存了两份,谢谢jearry了
2楼bobwalker:如果radius只存md5加密后的密码,那么radius软件应该是没有办法知道用户明文的,而比较时使用的密码,是通过我上面写的公式md5后的字串,md5现在似乎只能暴力破解得到原文...这也许就是windows2003配置radius如果采用chap认证方式,需要在组策略里把密码存储方式改为 可还原密码 的原因。
谢谢楼上所有。感谢

michaelyuan 发表于 2011-7-10 23:18:45

不知道问问群里的高手
页: [1]
查看完整版本: 请教下还有人知道Radiusmanager是怎么用md5存用户密码啊