web-密码安全口令
目录
一、密码安全概述
二、密码安全现状
三、破解方式
四、暴力破解
五、字典破解
六、密码字典
学习心得:
一、密码安全概述
现在很多地方都是以用户名(账号)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限。口令(密码)就相当于进入家门的钥匙,例如网站后台、数据库、服务器、个人电脑、QQ 、邮箱等。
二、密码安全现状
- 弱口令
类似于123456、654321、admin123等这样常见的弱口令。
- 默认口令
很多应用或者系统都是存在默认口令的。比如 phpstudy 的 mysql 数据库默认账号 / 密码 [root/root] ,
Tomcat 管理控制台默认账号 / 密码 [tomcat/tomcat] 等。
- 明文传输
比如 HTTP|FTP|TELNET 等服务,在网络中传输的数据流都是明文,包括口令认证信息等。这样的
服务,有被嗅探的风险。
三、破解方式
- 在线破解方式:
账号密码,需要认证。
- 离线破解方式:
密文还原明文的过程。
四、暴力破解
暴力破解 就是利用所有可能的字符组成密码,通过枚举的方式去尝试破解。这是最原始、粗暴的破
解方法,根据运算能力,如果能够承受时间成本,最终一定爆破密码。下表是根据不同位数生成密码的空间大小。
字符集 密码位数 密码空间
[0-9] 8 位 10^8=100000000
[0-9] [a-z] 8 位 36^8=2821109907456
[0-9] [a-z] 1-8 位
使用crunch工具生成字典文件:
crunch 1 8 abcdefghijklmnopqrstuvwxyz0123456789
五、字典破解
如果能通过比较合理的条件,筛选或者过滤掉一些字符组合的内容,就会大幅降低爆破的成本。我
们把筛选出的密码组合成特定的字典,再用字典爆破密码也是可以的,但是这样做有可能会漏掉真正的密码。密码字典大致分为以下几类。
- 弱口令字典
比如 123456 、 admin 等这样的默认口令或弱口令。
- 社工字典
人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密
码组合 “ 名字 + 生日 ” 。
[zhangsan1992] , [ZhangSan1992]
社工字典更具有针对性,准确率也比较高。
我们可以根据个人信息生成密码字典,如使用 cupp 工具。
安装cupp工具
apt-get update
apt-get install cupp
-------------------------------
使用cupp工具
cupp -i
[zhangsan|ajest|19920701|dnsec|123]
- 字符集字典
如果能确定密码的字符集合,也将大大降低爆破的成本。 crunch 工具。
crunch工具介绍
crunch是一款创建密码字典的工具,按照指定的规则生成密码字典,可以灵活的定制自己的字典文 件。使用crunch工具生成的密码可以输出到屏幕、保存文件或另一个程序。尤其在渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起到十分重要的作用。
- 安装
crunch 为 kali 自带的工具。可以在 kali 终端直接运行。
- 命令格式
crunch < min-len > < max-len > [ < charset string > ] [options]
- 参数说明
min-len 设定最小字符串长度(必选)
max-len 设定最大字符串长度(必选)
charset string 字符集
options 选项
- b 指定文件输出的大小,避免字典文件过大
- c 指定文件输出的行数,即包含密码的个数
- d 限制相同元素出现的次数
- e 定义停止字符,即到该字符串就停止生成
-f 调用库文件( / usr / share / crunch / charset.lst )
- i 改变输出格式,即 aaa,aab -> aaa,baa
- l 通常与 - t 联合使用,表明该字符为实义字符
- m 通常与 - p 搭配
- o 将密码保存到指定文件
- p 指定元素以组合的方式进行
- q 读取密码文件,即读取 pass.txt
- r 定义从某一字符串重新开始
- s 指定一个开始的字符,即从自己定义的密码 XXX 开始
- t 指定密码输出的格式
- u 禁止打印百分比(必须为最后一个选项)
- z 压缩生成的字典文件,支持 gzip,bzip2,lzma, 7 z
特殊字符
% 代表数字
^ 代表特殊字符
@ 代表小写字母
, 代表大写字母
查看库文件(自带密码库文件)
cat / usr / share / crunch / charset.lst
numeric 表示 0123456789
lalpha 表示 26 位小写字母
ualpha 表示 26 位大写字母
六、密码字典
练习:
1 、用指定的字符 abc 生成一个字典文件 num01.txt
2 、生成 pass01-pass99 所有数字组合的字典文件 num02.txt
3 、生成六位小写字母密码,其中前四位为 pass 的字典文件 num03.txt
4 、生成六位密码,其中前四位为 pass ,后二位为大写字母的字典文件 num04.txt
5 、生成六位密码,其中前四位为 pass ,后二位为特殊字符的字典文件 num05.txt
6 、利用自带库文件,制作 8 位数字的字典文件 num06.tx
7 、制作 6 位数字的字典文件 num07.txt
8 、制作 adminXX , XX 为数字的字典文件 num08.txt
9 、制作以 admin 字母组成的字典文件 num09.tx
学习心得:
学习密码破解技术,我深刻认识到了安全防护的重要性。通过了解加密原理和常见攻击手段,如暴力破解和字典攻击,我增强了对密码强度和复杂性的认识。这让我更加重视个人和企业信息安全,学会如何设置更安全的密码,以保护数据不受侵害。