51fanli由于设计不当,存在一定安全隐患

漏洞概要

缺陷编号:WooYun-2012-05786

漏洞标题:51fanli由于设计不当,存在一定安全隐患

相关厂商:51fanli.com

漏洞作者:我真的不帅

提交时间:2012-04-05 12:02

公开时间:2012-05-20 12:02

漏洞类型:设计缺陷/逻辑错误

危害等级:低

自评Rank:3

漏洞状态:未联系到厂商或者厂商积极忽略

Tags标签:

漏洞详情

披露状态:

2012-04-05: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-05-20: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

51fanli存在一定的安全隐患

详细说明:

问题主要有以下几点1.用户登录Form采用GET提交到服务器去验证(在某些情况下可被代理或网络中其他恶意用户嗅探到)2.用户密码直接以md5形式保存在cookie中sundxshop变量中,格式为username=e0e1048b83b20ecc (其中=后为用户密码的md5值3.用户登录安全控制不足http://fun.51fanli.com/chkuser.asp?jsoncallback=jQuery17103889010781044103_1333554006151&username=username&UserPassword=userpassword&cooklogin=0&t=1333554038560&_=1333554038566我没有猜出这个url中的一些随机数字是怎么生成的,但是这个url替换用户名和密码是可以重复利用的,可以用于暴力猜解4.无安全意识,用户登录账号直接显示,未设置昵称来保证登录账号http://www.51fanli.com/profile.asp?action=customerinfo1从这个页面可以看出,51fanli不存在昵称,也就是在http://www.51fanli.com/space-858582 这种空间中显示的用户名就是用户登录所用的用户名利用:1.遍历http://www.51fanli.com/space-858582 这种个人空间,得到用户名2.通过对比弱口令(或者自己的密码库),到http://fun.51fanli.com/chkuser.asp?jsoncallback=jQuery17103889010781044103_1333554006151&username=username&UserPassword=userpassword&cooklogin=0&t=1333554038560&_=1333554038566这个登录校验url用程序遍历密码去检查密码是不是正确3.根据用户的弱口令的分布比例,下点功夫写个程序去跑一跑,,百分之10到20的用户还是能猜解到密码搞到账户的吧

漏洞证明:

上面都有

修复方案:

建议1.用户密码不要直接md5保存,要保存也要加salt或变形,毕竟只是拿来校验,md5明文不可取2.对于用户登录url要严格控制,多次尝试失败是弹验证码了,但是无验证码的url一样可用,应该基于url的访问频率来控制下3.增设昵称,强制用户修改与登录账户不同,以保护用户账号这个玩意没什么技术含量,但是个人属于蚂蚁咬死大象类型的,几个鸡肋的地方组合起来,还是能搞到一定内容的,建议各方面设计的严谨些,有缝就会进风

漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

评价