利用Python进行Web渗透测试(十):密码攻击

本篇将会涉及:

  • 密码攻击测试
  • 密码攻击测试的方法
  • 密码和账户策略

 

密码攻击测试是怎么进行的

密码攻击可能是暴力破解中最常见的一种类型,广泛的被使用在渗透测试的各个领域,比如Web应用、WiFi密码破解等。密码攻击又称为口令攻击,只要攻击者获得了用户的密码口令,就能够获取用户所拥有的所有权限。而密码攻击的一个主要方式就是字典攻击,通常在通过网站的扫描探测器扫描到了网站的后台目录,就可以使用字典进行密码测试了。

至于为什么使用字典进行密码攻击,当然,是因为很多用户选择设置弱口令密码来方便记忆;网站越来越多,需要注册的也越来越多,为了方便记忆,很多人为了省事,直接就使用什么“123456”、“qq123456789”、“zxs5201314”之类的密码,或者使用生日作为自己的密码。这样的密码方便是方便了,就是有点不安全。

通过字典进行的密码攻击,使用的字典文件通常是基于常用的英语单词、汉语拼音、数字和数字谐音来构建,以及基于上述的密码类型进行变形的字符、单词、数字等;

 

密码攻击测试的几种方法

基于字典的密码攻击虽然是直接依赖字典,但也有一些策略可循

  • 垂直扫描,对一个用户名进行所有的密码测试;
    根据一个获取到的用户名,应用于字典中的所有密码口令;
  • 水平扫描:对多个用户名进行常见的密码测试;
    对获取到的一批用户名,使用最常见的弱口令进行测试,比如“123456”。
  • 对角线扫描:对不用的用户名和不用的密码进行遍历密码测试;
    对所有的用户名进行字典中所有的密码的测试,这个通过遍历来实现。
  • 三维扫描:使用上述三种扫描方式结合分布式的代理IP进行密码测试;
  • 四维扫描:基于上述四种方式,再设置时间间隔延迟进行扫描;

 

一些密码和账户策略

密码的设置规则,定义了密码质量的底线;

  • 密码长度
    禁止短密码的设置;
  • 区分大小写:将大小写字母进行组合;
  • 允许多种字符:字母、符号、数字等
    大写字母、小写字母、特殊符号加数字的组合;
  • 禁止重用:重设密码时禁止使用曾经使用过的密码;
    对过去使用过的密码,拒绝在重设密码的使用;
  • 设置密码黑名单:禁止使用黑名单中的密码,比如123456,5201314等;

一些账户的策略,则能够有效提高账户安全:

  • 定期进行密码修改;
    设置一个固定的时间间隔,当超过这个时间间隔,提醒用户修改密码;
  • 密码错误一定次数之后进行锁定;
    现在很多站点已经添加了这个策略,在输入密码错误一定次数之后,将账户锁定一定的时间。

 

下一篇,我们将使用Python创建一个密码暴力攻击器,敬请期待!

猜你也喜欢

发表评论

邮箱地址不会被公开。