web安全之弱口令漏洞学习总结

漏洞介绍

        弱口令也是安全漏洞的一种,是指系统登录口令的设置强度不高,容易被攻击者猜到或破解。造成弱口令的主要原因是系统的运维人员、管理人员安全意识不足。常见的弱口令形式包括:系统出厂默认口令没有修改;密码设置过于简单,如口令长度不足,单一使用字母或数字;使用了生日、姓名、电话号码、身份证号码等比较容易被攻击者猜到的信息设置口令;设置的口令属于流行口令库中的流行口令。

漏洞危害

        绝大多数企业有一定用户数,对安全密码复杂对没有安全基准或落实不到位,都会存在弱密码,会看似符合密码复杂度要求的密码,其实是是弱密码如 P@ssw0rd qwer!@#$ 等,暴力破解和弱密码最终都是导致用户身份认证失效 系统可能是基于角色或用户做授权的。

        破解成功后即可获取合法用户的权限,从而能够查看用户的敏感信息,还有可以进行钓鱼等操作
        甚至可以破解管理员的密码从而能够拿到管理员的权限,通过查找网站是否还有其它危害较大的漏洞,进而控制整个站点
        批量获取用户账号密码,对网站以及用户造成较大威胁,进入网站后,有多种攻击手法,具体问题具体分析
        可以重置或者修改用户的账号密码等信息

 比如暴力破解用户邮箱,可以拉取到通信录,通过历史邮件发现更多信息。

漏洞原理

        网站没有对登录接口实施防暴力破解的措施,或者实施了不合理的措施,如不安全的验证码,或者使用 token 防御暴力

        理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个 web 应用系统存在暴力破解漏洞,一般是指该 web 应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:

        是否要求用户设置复杂的密码; 是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机 otp; 是否对尝试登录的行为进行判断和限制(如:连续 5 次错误登录,进行账号锁定或 IP 地址锁定等); 是否采用了双因素认证; …等等。

产生原因

         这个应该是与个人习惯相关与意识相关,为了避免忘记密码,使用一个非常容易记住的密码,或者是直接采用系统的默认密码等。相关的安全意识不够,总认为不会有人会猜到我这个弱口令的,相关的安全意识不够,总认为不会有人会猜到我这个弱口令的。

防护方法

 防御的主要思路是 加入人机识别或多因素认证。对频率做限制,失败多少次,锁帐号,或封 IP

 多因素认证 (影响用户体验,重要的系统可以采用)
验证码 (主流,有时也会影响用户体验)小站用户至上可以
频率做限制 (失败多少次,锁帐号,或封 IP (有绕过的风险,但攻击者成本很高,也是可行的防御方法)
安全加固及监控 或 IPS
token 有时可以防御些重放类的暴力破解,还能有防御 CSRF 的效果。python 的爬虫库可以抓取到到 token burpsuit 也可以配置从响应中提取 token 有一定初级的防御效果但不做为主要。
不明确返回用户帐号是否存在,或者密码错误等。用户 ID 和用户昵称最好分开。
禁常见的弱密码.设置密码定期修改策略.密码加固
口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail 地址等等与本人有关的信息,以及字典中的单词。
至少90 天内更换一次口令,防止未被发现的入侵者继续使用该口令。
不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。
口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。

 利用

web类

加密类型

        burp 的intruder payloads 下面的payload processing 可对变量进行加密 md5 base64等加密

多参数爆破

        burp 的集束炸弹 可对两个参数进行同时爆破

无验证码

        猜解 直接使用burp抓包 加上字典跑

有验证码

使用可识别验证码的工具,或自行编写工具,可接入打码平台。

burp验证码识别插件:

GitHub - c0ny1/captcha-killer: burp验证码识别接口调用插件

token验证

后续完善

服务协议类

多种服务爆破

可使用msf、超级弱口令检测工具等进行爆破

文件应用类

zip压缩包暴力破解 --> Advanced Archive Password Recovery

pdf暴力破解

等其他应用的暴力破解,可自行写脚本破解,也可搜工具破解。

思路

渗透测试前期信息搜集好,生成字典跑

也可以社工搜集资料,具体方法途径因特殊原因就不写了吧!

一些设备或网站等都有默认密码,可尝试探针

参考

密码长度范围为8到26位。
密码至少包含以下4种字符中的3种:
大写字母
小写字母
数字
Windows操作系统云服务器特殊字符:包括“$”、“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“,”和“?”
Linux操作系统特云服务器特殊字符:包括“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“^”、“,”、“{”、“}”和“?”
密码不能包含用户名或用户名的逆序。
Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。

身份证号的生成规则

(1)前1、2位数字表示:所在省份的代码; 
(2)第3、4位数字表示:所在城市的代码; 
(3)第5、6位数字表示:所在区县的代码; 
(4)第7~14位数字表示:出生年、月、日; 
(5)第15、16位数字表示:所在地的派出所的代码; 
(6)第17位数字表示性别:奇数表示男性,偶数表示女性; 
(7)第18位数字是校检码:也有的说是个人信息码,一般是随计算机的随机产生, 
用来检验身份证的正确性。校检码可以是0~9的数字,有时也用x表示。

相关网站:

Firefox Monitor

https://haveibeenpwned.com/

密码字典生成器|CTF论坛-Tools 密码攻击器

https://github.com/danielmiessler/SecLists fuzz

https://github.com/hetianlab/DefaultCreds-cheat-sheet 默认密码项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初岄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值