Web安全:暴力破解

  • A+
所属分类:安全文章

暴力破解即用暴力穷举的方式大量尝试性地猜解密码。猜解密码一般有三种方式:排列组合式、字典破解及排列组合与字典猜解相结合。


排列组合式指首先列出密码组合的可能性,例如数字、大写字母、小写字母及特殊字符等,按密码长度从一位、两位及三位逐一猜解。当然,这种方法需要高性能的破解算法和CPU或者GPU支持。


字典破解指大多数攻击者并没有高性能的破解算法和CPU或者GPU,为了节省时间和提高效率,利用社会工程学或者其他方式建立破译字典,用破译字典中存在的账号与密码进行破解。


排列组合与字典猜解相结合指理论上只要有性能足够强的计算机与足够长的时间,绝大部分账号与密码均可以猜解出来。


暴力破解一般有两种应用场景:攻击之前尝试手动猜解账号是否存在弱口令,若存在,那么对整个攻击将起到“事半功倍”的作用;大量手动猜解之后实在找不出系统中存在的安全漏洞或者脆弱性,那么只有通过暴力破解获得弱口令。因此,管理员设置弱密码或者有规律的密码是非常危险的,很有可能成为攻击者入侵的“敲门砖”。


暴力破解应用范围非常广,可以说只要是需要登录的入口均可以采用暴力破解进行入侵。网页登录、邮件登录、ftp登录、telnet登录、rdp登录及ssh登录等这些入口,都可以施展暴力破解。


因此,采用验证码机制无疑是一种很好的防御暴力破解的方法。但是,验证码机制就真的那么安全吗?其实,攻与防的较量永远在不断地变化,没有一种安全机制是绝对安全的,当然也包括验证码这种安全机制。


另外,这里补充一些关于验证码的安全史,早期的验证码直接在前端HTML页面输出,有的直接存入用户本地计算机的Cookie中,上述不管哪种方式,从根本上来说都是不安全的。


基于一个原则:用户输入的数据都是不安全的,因为本地的数据,都是可以被任意修改提交的。人们开始意识到这些不安全的验证之后,就干脆将验证码存入服务器的Session中。这样,似乎就相对比较安全了。这基于一个原则:服务器的数据是无法被用户修改的。按理说这样的验证码方式是安全的,但是,在实际环境中,还是会出现这样或者那样的Session安全验证码被绕过的情况。


从根本上来讲,还是开发者对验证码的验证机制的理解不是很深入造成的。因此,安全问题的本质还是人的问题。若要防止暴力破解,验证码是一种必不可少的安全机制。其他的,如短信验证安全机制等也可以与验证码安全机制搭配使用。毕竟,基于多因素的安全验证机制会让我们的业务系统更加安全。


暴力猜解密码。攻击者手动输入admin(系统一般存在管理员)相关信息后登录,如图1所示。

Web安全:暴力破解

图1  登录页面(1)


继续手动输入admin111(系统一般不存在的用户名)相关信息登录,如图2所示。

Web安全:暴力破解

图2  登录页面(2)


根据网页中不同提示,攻击者可以判断此处存在暴力猜解用户名的漏洞。于是,攻击者使用Burp Suite的intruder来进行暴力猜解用户名。用户名猜解的结果经手动验证,返回数据长度为2295的都是系统存在的用户,返回数据长度为非2295的都不是系统存在的用户,猜解的部分结果如图3所示。

Web安全:暴力破解

图3  Burp Suite暴力猜解


攻击者在网页中输入lw用户名登录,如图4所示。

Web安全:暴力破解

图4  登录页面(3)


根据网页中提示,lw是一个正确的用户名。此时,攻击者发现该系统有密码防暴力破解的安全机制,如图5所示。

Web安全:暴力破解

图5  错误超次


因此,攻击者也就无法通过Burp Suite的intruder来暴力破解密码了。最后,攻击者只能以猜解出来的用户名为依据手动猜解密码。通过手动猜解密码,猜出lw用户名的密码为lw123456,登录成功,如图6所示。

Web安全:暴力破解

图6  手动猜解并登录成功


微信公众号:计算机与网络安全

ID:Computer-network

Web安全:暴力破解


一如既往的学习,一如既往的整理,一如即往的分享。感谢支持Web安全:暴力破解

“如侵权请私聊公众号删文”



扫描关注LemonSec

Web安全:暴力破解

觉得不错点个“赞”、“在看”哦Web安全:暴力破解

本文始发于微信公众号(LemonSec):Web安全:暴力破解

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: