黑客技术:一个“登录框”引发的安全问题

搞安全的小伙伴只有一个登录框你都能测试哪些漏洞?

通常大家测试的都会测试关键部分,为了有更好的测试效果,小厂会提供给你用户名密码;但是一些比较重要的企业,而这个环境却是正式环境,里面存放着一些数据不希望被你看到的时候,是不会提供给给你登录账号的。这个时候,考验你基础知识是否扎实的时刻来临了。

用户名枚举

漏洞描述:

存在于系统登录页面,利用登陆时输入系统存在的用户名错误密码和不存在的用户名错误密码,返回不同的出错信息可枚举出系统中存在的账号信息。

测试方法:

找到网站或者web系统登录页面。在web系统登录页面,通过手工方式,利用系统中存在的用户名和不存在的用户名,密码随意,尝试登录,查看其回显内容。例如:输入存在的用户名admin,回显如下:密码错误;输入不存在的用户名test,回显如下:用户不存在。

示例:

alt

alt

风险分析:

攻击者根据Web应用程序返回的上述提示信息即可枚举系统中存在的登录用户名,然后针对枚举出来的登录用户名,对其密码进行暴力破解。

修复方案:

建议对网站登录页面的判断回显信息修改为一致:用户名或密码错误。

弱口令

漏洞描述:

认证登录环节存在弱口令

测试方法:

1.找到网站登录页面,尝试输入常见弱口令;

2.根据网站所使用的第三方组件,寻找特定的弱口令或默认口令进行登录。

示例:

通常很多厂商后台默认账户为“admin”,密码为”admin”或“123456”,大家可以通过暴力破解去尝试

风险分析:

攻击者可利用互联网公开的常见弱口令尝试登录管理后台,对网站造成一定的影响。

修复方案:

禁止使用弱口令,口令应满足一定的复杂度。

空口令

漏洞描述:

认证登录环节允许空口令

测试方法:

找到网站登录页面,尝试输入用用户名,密码为空进行登录。
示例:暂无

风险分析:

攻击者可利用该漏洞登录网站后台,操作敏感数据,甚至上传webshell,从而控制服务器。

修复方案:

判断输入密码是否为空,禁止空口令登录。

登录认证绕过

漏洞描述:

能够绕过应用认证,直接登录系统。

测试方法:

绕过认证主要有几下几种途径:

1.网络嗅探。通过网络嗅探工具探测局域网中传输的明文用户名和密码。有些应用程序采用GET方式发送登录请求,可能导致GET的URL请求内容被缓存在代理服务器活着Web服务器端,导致用户名和密码泄漏。

2.默认或可猜测的用户账号。大多数开源软件或商业软件提供的基于网络配置和管理的接口,通常都会有一些默认的用户名和密码。例如,一般默认的用户名是:admin,administrator、root、system、guest等,而默认的秘密吗也根据硬件和软件的不同而不同,可尝试一下这些密码:password、admin、guest、12345等。

3.直接访问内部URL。使用Spider工具找到含有admin、manager、administrator、login等词语的路径,尝试使用普通的登录用户访问这些URL。从而获得管理员的权限。

4.修改参数绕过认证。应用程序可能会会使用一个参数或一个隐藏的域表示一个用户是否经过验证了,通过修改这些参数,从而被认为是已经认证过的用户。例如:?authenticated=no,通过修改authenticated参数为yes,?authenticated=yes,然后就可以通过认证,直接访问内部页面。

5.可猜测的SessionID。利用规律,猜测到一个有效的SessionID,然后通过修改请求中的SessionID为一个预测到的有效的SessionID,从而冒充会话的真正拥有着,绕过认证环节。

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

7.CSRF。利用CSRF漏洞在用户不知情的情况下,利用用户的会话进行敏感操作,从而绕过认证。

示例:

Apache shiro cve-2020-17523 Apache shiro较新的登录认证绕过,大概的方式就是使用空字符绕过
%20/
%2e/
示例用户名密码可以乱写

alt

点击登陆按钮同时使用抓包工具进行数据包拦截

alt

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxsdz.html