Pikachu-暴力破解
今天将基于Pikachu平台练习有关暴力破解内容。
先来简单地介绍一下:
“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括: 1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!
然后开始练习:
(1)基于表单的暴力破解
先用burpsuite抓包看看
输入一点东西
发送这个包到Intruder,攻击方式选择Cluster bomb,并自行设置字典
将字符串username or password is not exists复制到burpsuite的Grep-Match
然后开始攻击
总共找出了三个账户
登陆成功
(2)验证码绕过(on server)
先试一试正确的验证码康康:
看一下该网站验证机制是怎么写的
这就写的真的搞笑了~
所以我现在需要干什么爆破呢~直接把上一解拿过来用不就好了~
所以,我很无耻地去看了源代码:
Duck不必这个亚子,哥们……
好了,那就直接爆破好了。
设置爆破字典
发现几个账户都可以:
成功登录
emmmmmmmmmm……
我就忘了关ATTACK了,结果他给我跑出了第四个账户……
试试吧:
不对欸……
千古谜题,我不知道为什么会这样,应该是某个过滤条件没注意到……
(3)验证码绕过(on client)
先尝试一个错误的用户名和密码加上正确的验证码
抓到的包发给repeater
发现原先的验证码仍然可以使用,确认是发一次包在后端没有进行刷新。
那么暴力破解,直接用原来的验证码就可以。
破解步骤和上面的一样了……
登陆成功
(4)token防爆破?
废话不多说,直接抓包
发现提交了token
由于后端是先验证每次用户提交的随机的token再进行后续的验证,所以每次都得考虑绕过token检验。
使用pitchfork,token值也要加上payload
设置好token的payload
最后长度不一样的就是正确的用户名和密码
根据之前的结果可知这个肯定是正确滴~