漏洞挖掘 | 弱口令漏洞

弱口令漏洞

漏洞描述

应用存在默认口令或口令较简单易被猜到。git

风险等级

安全

漏洞测试

使用常见的弱口令字典进行尝试登录。通常采用BurpSuite进行测试。在这里咱们用DVWA进行演示(DVWA不会搭建的请自行百度)。服务器

首先登录进入DVWA后,修改安全等级:
修改DVWA安全等级多线程

而后在Brute Force模块进行测试弱口令:
Brute Force模块工具

使用 BrupSuite 进行抓包:
发现帐户和密码是使用GET方式提交的,而后咱们右键将抓到的包发送到 Intruder 模块进行暴力破解:
抓包发送到Intruder模块测试

进入到Intruder模块后,发现有四种攻击方式可选择:
四种攻击模式ui

如今咱们来分别介绍一下四种攻击模式:url

狙击手模式(Sniper)——它使用一组Payload集合,依次替换Payload位置上(一次攻击只能使用一个Payload位置)被§标志的文本(而没有被§标志的文本将不受影响),对服务器端进行请求,一般用于测试请求参数是否存在漏洞。
攻城锤模式(Battering ram)——它使用单一的Payload集合,依次替换Payload位置上被§标志的文本(而没有被§标志的文本将不受影响),对服务器端进行请求,与狙击手模式的区别在于,若是有多个参数且都为Payload位置标志时,使用的Payload值是相同的,而狙击手模式只能使用一个Payload位置标志。
草叉模式(Pitchfork )——它可使用多组Payload集合,在每个不一样的Payload标志位置上(最多20个),遍历全部的Payload。举例来讲,若是有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起两次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为B和D。
集束炸弹模式(Cluster bomb)——它可使用多组Payload集合,在每个不一样的Payload标志位置上(最多20个),依次遍历全部的Payload。它与草叉模式的主要区别在于,执行的Payload数据Payload组的乘积。举例来讲,若是有两个Payload标志位置,第一个Payload值为A和B,第二个Payload值为C和D,则发起攻击时,将共发起四次攻击,第一次使用的Payload分别为A和C,第二次使用的Payload分别为A和D,第三次使用的Payload分别为B和C,第四次使用的Payload分别为B和D。
线程

如今咱们使用集束炸弹模式(第四种)进行测试:
点击 clear 将全部参数置为未选中,而后将 usernamepassword 选中,设置完毕后点击 payloads 开始设置攻击载荷:
选择特定参数
设置攻击载荷3d

开始攻击,经过查看返回包的Length可判断是否爆破成功,在这里咱们发现admin/admin与其余返回长度不一样:
爆破

而后咱们在登陆页面使用admin/admin进行尝试登陆:
登录成功

成功进行登陆。

漏洞危害

攻击者利用弱口令,能够获取特定帐户或应用的访问控制权限,若是进一步攻击利用可能获取到服务器权限。

加固建议

关于如何防止弱口令的一些方法:

  1. 不使用空口令或系统缺省的口令,由于这些口令众所周之,为典型的弱口令。
  2. 口令长度不小于8个字符。
  3. 口令不该该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合。
  4. 口令应该为如下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。若是某类字符只包含一个,那么该字符不该为首字符或尾字符。
  5. 口令中不该包含本人、父母、子女和配偶的姓名和出生日期、记念日期、登陆名、E-mail地址等等与本人有关的信息,以及字典中的单词。
  6. 口令不该该为用数字或符号代替某些字母的单词。
  7. 口令应该易记且能够快速输入,防止他人从你身后很容易看到你的输入。
  8. 至少90天内更换一次口令,防止未被发现的入侵者继续使用该口令。

关于如何防止暴力攻击的一些方法:

  1. 限制验证次数,或者设置较长的密码和各类组合,延长暴力破解的时间。
  2. 尽量的使密码足够的复杂,密码的长度要大于8位。
  3. 发现同一IP错误登陆次数过多时,强制使用人脸识别技术,肯定是否为本人操做。
  4. 若是错误次数超过五次或者十次以上,那么就采用验证码登陆,或者使用短信验证,天天验证次数不超过20次。
  5. 能够添加延迟(如:sleep(2))来延长暴力破解的时间,这样能够减缓一些单线程攻击,但对多线程攻击则效果很差。

互联网挖掘弱口令漏洞的方法

使用 GoogleHacking 语法进行寻找登陆页面:

inurl:login
intext:后台登陆
...

一般为节省时间只测试几种常见的弱口令:

admin/admin
admin/admin123
admin/123456
...

若挖到弱口令漏洞,能够提交到国家信息安全漏洞共享平台CNVD

下面是文中使用的靶场官网和工具教程:

DVWA官网:
http://www.dvwa.co.uk/

BurpSuite实战指南:
https://t0data.gitbooks.io/burpsuite/

相关文章
相关标签/搜索