Web弱口令漏洞
Web弱口令漏洞是指网站或应用程序中存在使用弱密码或常见凭据进行认证的安全漏洞
可以从以下一些方面看一个页面是否存在漏洞 1.是否要求用户设置了复杂的密码; 2.是否每次认证都使用安全的验证码; 3.是否对尝试登录的行为进行判断和限制; 4.是否在必要的情况下采用了双因素认证(通常是“令牌”、“手机验证”、“指纹识别”或“短信验证码”等);
漏洞原理
用户账户、管理员账户、默认账户或共享账户等使用弱密码或默认密码(如"admin/admin"、"root/root)等
且网站没有限制登录失败次数或锁定账户等反制策略
漏洞操作
1.爆破
使用不同的用户名和密码组合进行大规模的试错(会用到字典)
实战:
-
CTFHub技能树 -web-web前置技能 -HTTP协议-基础认证
-
CTFHub技能树 -web-web工具配置-密码口令-弱口令
工具学习:BurpSuite-Intruder模块
先了解
BurpSuite Intruder的4种攻击类型
1. Sniper(狙击手模式)
狙击手模式使用一组payload集合,它一次只使用一个payload位置,假设你标记了两个位置“A”和“B”,payload值为“1”和“2”,那么它攻击会形成以下组合(除原始数据外):
attack NO. | location A | location B |
---|---|---|
1 | 1 | no replace |
2 | 2 | no replace |
3 | no replace | 1 |
4 | no replace | 2 |
2.Battering ram(攻城锤模式)
攻城锤模式与狙击手模式类似的地方是,同样只使用一个payload集合,不同的地方在于每次攻击都是替换所有payload标记位置,而狙击手模式每次只能替换一个payload标记位置。
attack NO. | location A | location B |
---|---|---|
1 | 1 | 1 |
2 | 2 | 2 |
3.Pitchfork(音叉模式)
草叉模式允许使用多组payload组合,在每个标记位置上遍历所有payload组合,假设有两个位置“A”和“B”,payload组合1的值为“1”和“2”,payload组合2的值为“3”和“4”,则攻击模式如下:
attack NO. | location A | location B |
---|---|---|
1 | 1 | 3 |
2 | 2 | 4 |
4.Cluster bomb(集束炸弹模式)
集束炸弹模式跟草叉模式不同的地方在于,集束炸弹模式会对payload组进行笛卡尔积,还是上面的例子,如果用集束炸弹模式进行攻击,则除baseline请求外,会有四次请求:
attack NO. | location A | location B |
---|---|---|
1 | 1 | 3 |
2 | 1 | 4 |
3 | 2 | 3 |
4 | 2 | 4 |
这里以实战2为例
1.先随便填写用户名密码,抓包
2.选中报文,右击发送到Intruder(测试器)。 位置-选中需要暴力破解的部分-添加
3.由分析这里使用集束炸弹模式
4.在有效载荷(Payload)中,负载集1对应的是上一步中的用户名部分,负载集2对应的是密码部分。用户名尝试admin和ctfhub;密码选择导入字典
4.开始攻击,查看结果,发现有不一样的报文长度返回,查看响应,发现flag
漏洞利用
人家都拿到你账号密码了,数据泄露、上传木马、修改数据、身份冒充想干啥干啥
漏洞防御
-
强制复杂密码:要求用户创建强密码,包括字母、数字和特殊字符的组合,以增加密码破解的难度。
-
登录失败锁定:在一定次数的登录失败后,锁定账户一段时间,防止攻击者通过暴力破解尝试大量凭据。
-
多因素认证:使用双因素认证或多因素认证,增加登录的安全性,即使密码泄漏,攻击者也无法轻易进入账户。
-
监测异常登录行为:实时监测登录行为,检测异常登录尝试,并采取相应的防御措施。
-
定期更新密码:鼓励用户定期更改密码,以减少长期有效的密码在字典中的价值。