目录
一、弱口令漏洞介绍
1.弱口令漏洞的原理
2.漏洞识别
3.攻击方式
4.漏洞的危害
5.漏洞防御
二、弱口令漏洞的攻击方式-暴力破解
1.暴力破解的一般流程
2.token并不能有效的防范暴力破解漏洞
3.防范暴力破解常见方法
一、弱口令漏洞介绍
弱口令漏洞是指系统登录口令的设置强度不高,容易被攻击者猜到或破解。造成弱口令漏洞的主要原因是系统的运维人员、管理人员安全意识不足。
弱口令:弱口令我们可以可以简单的理解为能让别人随便就猜出的密码
1.弱口令漏洞的原理
口令太简单容易被猜到,或者出现在弱口令字典中
弱口令字典:
通俗一点来说就是两个文件,一个文件存在着大量的用户账户,另一个存在的大量的肉口令密码
2.漏洞识别
如果是web登录,可以查看登录是否有验证码,传输密码或用户名有无加密,密码输入错误多次后有无进行账号锁定等
3.攻击方式
一般使用弱口令字典进行暴破
特殊情况:
如果前端对密码进行了加密,可使用burp插件jsEncrypter将弱口令字典同步加密
4.漏洞的危害
- 破解成功后即可获取合法用户的权限,从而能够查看用户的敏感信息
- 甚至可以破解管理员的密码从而能够拿到管理员的权限,通过查找网站是否还有其它危害较大的漏洞,进而控制整个站点
- 批量获取用户账号密码,对网站以及用户造成较大威胁,进入网站后,有多种攻击手法,具体问题具体分析
- 可以重置或者修改用户的账号密码等信息
5.漏洞防御
- 多因素认证 (影响用户体验,重要的系统可以采用)
- 验证码 (主流,有时也会影响用户体验)小站用户至上可以
- 频率做限制 (失败多少次,锁帐号,或封 IP (有绕过的风险,但攻击者成本很高,也是可行的防御方法)
- 安全加固及监控 或 IPS
- token 有时可以防御些重放类的暴力破解,还能有防御 CSRF 的效果。python 的爬虫库可以抓取到到 token burpsuit 也可以配置从响应中提取 token 有一定初级的防御效果但不做为主要。
- 不明确返回用户帐号是否存在,或者密码错误等。用户 ID 和用户昵称最好分开。
- 禁常见的弱密码.设置密码定期修改策略.
二、弱口令漏洞的攻击方式-暴力破解
Brute Force,即暴力破解。暴力破解=连续性的尝试+字典+自动化。其实就是去猜可能的密码,利用工具(如burpsuit)进行大量的输入,找到正确的密码。利用一个好的字典可以大大加快破解的进度。
暴力破解漏洞出现的原因:如果某个网站没有对登录实施防暴力破解的措施,或者实施 了不合理的措施,称该网站存在暴力破解漏洞。
可以从以下一些方面看一个页面是否存在暴力破解漏洞
✓是否要求用户设置了复杂的密码;
✓是否每次认证都使用安全的验证码;
✓是否对尝试登录的行为进行判断和限制;
✓是否在必要的情况下采用了双因素认证;
1.暴力破解的一般流程
- 确认页面是否存在弱口令漏洞,并可以使用暴力破解:比如:尝试登录一抓包—观察验证元素和response信息,判断否存在被暴力破解的可能。
- 对字典进行相应的配置:根据实际的情况对字典进行配置,提高爆破过程的效率。
- 工具自动化操作:配置自动化工具(比如线程、超时时间、重试次数等) , 进行自动化操作。
2.token并不能有效的防范暴力破解漏洞
因为客户端token跟随用户名和密码一起提交给服务器并且与服务器端token值进行对比,那么也就意味着每次客户端请求服务器都会进行token值校验是否正确。如果我们想要爆破这样的登录入口就需要突破一个关键点,那就是每次请求前需要把上一次请求的响应包获取到,并将其中的token值截取出来。那么这个问题其实在burpsuite中实现是非常简单的。
3.防范暴力破解常见方法
- 设计安全的验证码:这个验证码需要在后端进行验证,并且该验证码需要有一定的时效性;或者是构造复杂但是可用的图形验证码
- 对认证错误的提交进行计数并给出限制,比如连续5次密码错误,锁定两小时,验证码用完后销毁,这个在上面提到过,能有效防止暴力破解,还有验证码的复杂程度。
- 必要的情况下,使用双因素认证;