网站登录被绕过漏洞的人工检测及修补方案

           登录认证绕过漏洞的说明:可以绕开应用认证,直接登录系统。测试方法:绕过认证主要有几种方法:

1.网络嗅觉。通过网络嗅觉软件检测局域网传输的明确用户名和密码。一些应用程序应用GET发送登录请求,这可能导致GET的URL请求内容被缓存在代理服务器中,并且在网络服务器端生存,导致用户名称和密码泄露。

2.默认或可猜测的用户帐户。开源软件或商业软件提供的基于网络配置和管理的接口通常有默认的用户名和密码。比如,普通默认用户名为system、systemistrator、root、system、guest等,默认秘密也因硬件和软件而异,请尝试password、system、guest、12345等。

3.直接访问内部URL。应用Spider软件寻找带有system、manager、systemistrator、login等词的路径,试着应用普通注册用户访问这些URL。获得管理者的权限。

4.修改参数绕过认证。应用程序可能会应用一个参数或一个隐藏的域来代表一个用户是否经过验证,并通过修改这些参数从而被认为是经过认证的用户。比如https://www.某某.xom/systeminfo.easyuipauandntmicated=nod参数为yes,https://www.某某.xom/systeminfo.easyuipauandntmicated=。

5.可猜测的SessionID。利用规则,推断有效的SessionID,通过修改请求中的SessionID,将推断的有效的SessionID作为推断冒充对话的真正所有者,绕过认证环节。

6.注入问题。利用万能密码登录系统,绕过认证环节。

7.CSRF。利用CSRF漏洞性,在用户不知情的情况下,利用用户的对话进行敏感的操作,避免认证。

比如:比如:

Apacheshirocve-2020-17523Apacheshiro的新登录认证绕过,大致方法是用空字绕过。

www.某某.com/system/%20/

www.某某.com/system/%2e/

点击登录按钮,同时应用抓取软件拦截数据包,将数据包返回当前页面,修改code值。风险分析:

如果APP在认证上没有做好,可以导致恶意用户或者攻击者绕过认证,访问内部资源,这样的漏洞很难通过防火墙和入侵检测系统来预防。

修复方案:可以从以下几个方面入手

1.首先检查所有访问的URL是否登录(不需要认证的URL除外,如帮助页面、免费下载页面等),如果没有登录,则跳转到登录页面。对于已经注册的用户,在退出时或谈话长时间处于idle状态时,需要保证原来的谈话被正确销毁,不再重用。

2.规定密码强度要求,防止密码被猜测。

3、对于用户是否已经认证,禁止依赖客户端传输的参数标识,而应该将注册的标识保存在服务存在服务器端对话中,当收到对话的请求时,应该从对话保存的状态来判断是否已经登录。

4.SessionID必须应用安全的随机数量生成算法,SessionID无法推断。

5.对于暴力解读攻击,建议在尝试3次左右失败后应用图形认证代码。

分享: