A. 如何判断密码过于简单
这需要你自己设定一个判定规则:就是什么样的密码算是简单密码也叫弱密码。比如说你可以认为低于8位的密码,全数字的密码或者全字母密码,或者所有位数相同的密码(类似11111111这样的)都属于简单密码,然后就可以依赖这个规则去判定了。一般设定所谓的复杂密码要满足这么几个条件:1、长度超过8位;2、必须由数字和字母组成;3、字母必须有大小写混合。同样如果不满足上面的三个条件也可以认为这样的密码是简单密码。如果希望密码再复杂一点,可以判断,数字是不是重复数字如上例,字母是不是重复字母,是不是顺序数字,是不是顺序字母等。因为这样的密码都容易被人猜出来,所以都是弱密码,也是危险密码。
B. 怎么用正则表达式去判断密码的强弱啊
你是自己写正则表达式吗?挺麻烦的,一般用的时候都是直接参考正则表达式文册也没必要记住
下面写了一个函数来验证密码强度,你可以写一个showPwRank(arg)方法用于显示强度
验证密码强度的js在网上挺多的
function checkRank(val){
if(val.length<6||/^[0-9]{1,8}$/.test(val))
{
showPwRank(0);
return 0;
}
var ls = 0;
if (val.match(/[a-z]/g)){ ls++; }
if(val.match(/[A-Z]/g)){ ls++; }
if (val.match(/[0-9]/g)){ ls++; }
if (val.match(/[^a-zA-Z0-9]/g)){ ls++; }
if (val.length < 8 && ls > 1){ ls = 1; }
if(ls>3) { ls=3; };
return ls;
}
C. 弱口令扫描操作
弱口令扫描操作手册
一、弱口令简介
弱口令目前没有严格和准确的定义,通常认为容易被别人猜测或被破解工具破解的口令即为弱口令。对弱口令的定义为,不满足以下五项条件之一即为弱口令:
1、口令长度应至少8位;
2、口令应包括数字、小写字母、大写字母、特殊符号4类中至少3类;
3、口令应与用户名无相关性,口令中不得包含用户名的完整字符串、大小写变位或形似变换的字符串;
4、应更换系统或设备的出厂默认口令;
5、口令设置应避免键盘排序密码;
二、弱口令类型
目前常见的弱口令类型有TELNET、SSH、SNMP、FTP、MYsql、MSSQL、ORACL、HTTP等。其中TELNET、SSH、FTP、MYSQL、MSSQL、ORACLE、HTTP等为TCP协议,都是通过用户名+密码的形式登录;SNMP为UDP协议,通过community字符串登录即可。
三、弱口令字典
弱口令检查一般都是通过自动化工具批量进行,主要的难点在于字典的构造。通常来说,字典越大,扫描的效果就越好,但是扫描花费的时间也会越长,所以我们需要根据自己的任务紧急程度选择不同大小的字典。
移动互联网行业,拥有很多网络设备,所以我们需要结合设备本身的特性来优化字典。比如某网络设备的默认用户名是useradmin,默认密码是admin!@#$%^,此时我们就应该检查自己的用户名字典和弱口令字典中是否包含以上字符串,如果没有就应该将其加入到字典中。
四、工具介绍
硬件扫描器:绿盟RSAS
绿盟远程安全评估系统(NSFOCUS Remote Security Assessment System 简称:NSFOCUS RSAS)是国内一款常见的漏洞扫描工具,它的“口令猜测任务”模块即可对各协议进行专门的弱口令扫描。
1、 [登录扫描器,选择“新建任务”
2、 选择“口令猜测任务”,并输入扫描目标(可以直接输入扫描地址,也可通过文件导入)
3、 选择需要扫描的协议类型,如FTP、SSH等,然后选择需要使用的字典。
4、根据任务需求选择配置其他选项(或者保持默认配置),最后选择确定即可。
在新建任务的过程中,如果我们选择“密码字典管理”选项,还可以新建一个自己的独特字典。
l 开源扫描器:hydra
hydra是一款开源的弱口令扫描神器,它可以在windows、linux、OSX等多个平台上运行,它支持几乎所有常见协议的弱口令扫描。
1、hydra语法
hydra[[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns] [-o FILE] [-tTASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service[OPT]
-R
继续从上一次进度接着破解
-S
大写,采用SSL链接
-s
小写,可通过这个参数指定非默认端口
-l
指定破解的用户,对特定用户破解
-L
指定用户名字典
-p
小写,指定密码破解,少用,一般是采用密码字典
-P
大写,指定密码字典
-e
可选选项,n:空密码试探,s:使用指定用户和密码试探
-C< FILE>
使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数
-M< FILE>
指定目标列表文件一行一条
-o< FILE>
指定结果输出文件
-f
在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
-t< TASKS>
同时运行的线程数,默认为16
-w< TIME>
设置最大超时的时间,单位秒,默认是30s
-v/ -V
显示详细过程
server
目标ip
service
指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get}http-{get|post}-form http-proxy ciscocisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmprsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等
OPT
可选项
[if !supportLists] 2、 [endif]使用范例
扫描SSH 弱口令
# hydra-L users.txt -P password.txt -t 1 -vV -e ns 192.168.1.104 ssh
-L 指定用户名字典(一行一个用户名字符串),-P指定密码字典(一行一个密码字符串),-t 指定线程数为1,-vV设置显示详细扫描过程,-e 设置使用空口令试探,最后是要扫描的IP地址和协议类型。
扫描SNMP 弱口令
#hydra-P snmppwd.txt -M ip.txt -o save.log snmp
-P 指定密码字典,-M指定目标IP文件(一行一个IP地址),-o指定结果输出文件,最后指定扫描协议SNMP。
专用扫描器:Tomcat弱口令扫描器
“Apache tomcat弱口令扫描器”是一款专用的tomcat弱口令扫描器,可以灵活的配置扫描IP、端口、用户名和字典等。
1、简单扫描整个网段
在“起始IP”中填入开始IP,在“终止IP”中填入结束IP,然后点击“添加”(可多次添加),最后点击“开始”即可。
2、高级设置:配置用户名和字典等
点击“设置”进入设置页面:
在设置页面可以导入自己的个性化“用户名”和“密码字典”,同时也可以通过文件导入要扫描的IP,配置好相关选项后,点击开始即可扫描。
专用扫描器:Burp Suite
Burp Suite是一款web渗透测试神器,可以测试SQL注入、XSS等各种漏洞,同时我们也可以使用它对WEB登录页面进行弱口令测试。
1、打开Burp Suite,配置监听端口,并在浏览器中设置代理为上述端口,如下图为8080。
2、使用浏览器打开需要测试的页面,并使用Burp Suite抓取登录请求。
3、选中请求,鼠标右键,选择“Send to Intruder”
4、在“Positions”标签下,选择需要暴力破解的字段
5、在“Payloads”标签下选择弱口令字典文件
6、点击开始攻击,通过比较应答的大小等方式获取破解成功的弱口令(此例中为password)。
D. 密码强度判断
用户输入一个字符串做为密码,判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含陵告3种字符为强、包含全部4种字符为极强。
提示:尺或明
string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'
输入一个字符串
密码强度的判断结果,分:弱、团困中、强、极强,共四种