来源:自学PHP网 时间:2015-04-17 14:11 作者: 阅读:次
[导读] 问题主要有以下几点1.用户登录Form采用GET提交到服务器去验证(在某些情况下可被代理或网络中其他恶意用户嗅探到)2.用户密码直接以md5形式保存在cookie中sundxshop变量中,格式为username=e0...
问题主要有以下几点
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 这种空间中显示的用户名就是用户登录所用的用户名 利用: www.2cto.com 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.增设昵称,强制用户修改与登录账户不同,以保护用户账号 这个玩意没什么技术含量,但是个人属于蚂蚁咬死大象类型的,几个鸡肋的地方组合起来,还是能搞到一定内容的,建议各方面设计的严谨些,有缝就会进风 作者 我真的不帅 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com