一个Web应用放在移动机房、他们进行漏洞扫描的时候、说可以猜测出我们Web应用的密码。
郁闷、用户数据库是没有这个用户的。
是不是什么Jboss的后台用户也不对了、我的jmx-console用户名跟密码都是自己从新配置过的!
根本没有什么root!
服务的环境是:
系统:Windows Server 2003
Web容器:Jboss6 M1
应用程序语言框架:SSH+Jquery
数据库:Oracle
求解啊、指点指点、这到底是个神马漏洞!
- XML code
详细描述 通过用户名、密码字典多次尝试目标站点基于表单的登录,猜测出可用于登录该站点的用户名,口令。 由于是通过枚举用户名,口令多次尝试登录,未限制登录错误次数的站点易受到次攻击。 本漏洞属于Web应用安全常见漏洞.解决办法 建议限制用户错误登录的次数,当超过错误登录次数,锁定该账户。
这是他们给的信息、登录错误次数早就已经限制了、而且老子直接后台判断如果登录的用户名为root、直接给它返回回来!
但是他们节后还是发邮件给我们说、这个漏洞依然存在、无语了!
------解决方案--------------------------------------------------------
请求方式是GET?有意思,也就是直接:
在浏览器输入: http://xxx.xxx.xxx/yd/jsppages/login.jsp?username=root&password=xxoo
就可以进行密码穷举了?
你的登录错误次数限制是用什么方式来做的?不会是Cookie吧?这个是没意义的。
------解决方案--------------------------------------------------------
仅过滤root用户,这个猜着用户名和密码的问题,当然还存在。
意思是先猜测用户名存不存在,存在再猜着密码。root过滤了,可以看admin或者其他xxx存在不。
当然现在的系统提示一般都是“用户名或密码错误”,如果是提示“该用户不存在”或“密码错误”,就是安全漏洞。
如果用户名存在,登录密码多次错误锁定账户。
如果同一IP多次尝试不同用户/密码登录,则提示“请X分钟后尝试”
个人觉得是上面这个意思,呵呵