Pikachu靶场-暴力破解

1.暴力破解

概述

“暴力破解”是一种攻击手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。

理论上来说,大多数系统都是可以被暴力破解的,只要攻击者有足够强大的计算能力和时间,所以断定一个系统是否存在暴力破解漏洞,其条件也不是绝对的。 我们说一个web应用系统存在暴力破解漏洞,一般是指该web应用系统没有采用或者采用了比较弱的认证安全策略,导致其被暴力破解的“可能性”变的比较高。 这里的认证安全策略, 包括:

1.是否要求用户设置复杂的密码;
2.是否每次认证都使用安全的验证码(想想你买火车票时输的验证码~)或者手机otp;
3.是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
4.是否采用了双因素认证;
…等等。
千万不要小看暴力破解漏洞,往往这种简单粗暴的攻击方式带来的效果是超出预期的!

1.1 基于表单的暴力破解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eGlni0Tk-1636444289682)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109141920410.png)]
非常简单的爆破题,没有任何验证码之类的防护。直接打开burp的爆破模组开始爆破
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYH9eQKL-1636444219455)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109141920410.png)]

轻松爆破出用户名和密码。其实像这种简单的表单爆破,最重要的还是字典。选对字典,效率事半功倍。

1.2 验证码绕过

1.2.1 验证码的机制原理

客户端发起请求>服务端响应并创建一个新的SessionID同时生成随机验证码,将验证码和SessionID一并返回给客户端>客户端提交验证码连同SessionID给服务端>服务端验证验证码同时销毁当前会话,返回给客户端结果

1.2.2 绕过(on server)

在这里插入图片描述

先抓一个包看看
在这里插入图片描述

我先尝试把验证码删除,看看能不能绕过。
在这里插入图片描述

结果发现不行

尝试将正确的表单输入,发现可以

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EayErBQn-1636444219461)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109143122941.png)]
成功以后就可以利用这个正确的验证码表单进行字典爆破。

造成该问题的原因

  1. 验证码不过期,没有及时销毁会话导致同一验证码反复可用。攻击者可以在Cookie中带固定的sessionID和固定的验证码字符串。

  2. 没有对验证码进行非空判断,导致可以直接删除验证码参数。

  3. 产生的验证码问题有限。

1.2.3 绕过(on client)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-61S9QV03-1636444219462)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109144321122.png)]

这个就更加离谱了,验证码是在前端验证,也就是客户端。这样我们绕过根本用不着那么麻烦,直接验证成功然后爆破就完事了

造成该问题的原因

  1. 有的网站验证码由本地js生成仅仅在本地用js验证。可以在本地禁用js,用burp把验证字段删除。
  2. 有的网站把验证码输出到客户端html中,送到客户端Cookie或response headers中。
  3. 有些网站默认不显示验证码,而是在输入错误一定数量之后才需要验证验证码,开发人员可能在Cookie中写入一个标记loginErr,用来记录错误数量,则可以不更新Cookie中的loginErr值反复提交,验证码就不会出现。

1.3 token防爆破

1.3.1 token的介绍

  1. Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

  2. Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

  3. 使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

1.3.2 token 爆破

随便发送一个包发现token值不能重复使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qva5emDI-1636444219463)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109145415219.png)]

因为token不能重复使用,我们就需要多次获得token的值来进行爆破

这里我们利用burp爆破模块里的“交替”,他可以将上一个获取到的值赋值到下一次爆破。

首先我们要注意我们这次爆破是上一个接下一个,所以我们只能利用单线程来爆破

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ykUQV2eT-1636444219464)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109153635116.png)]

点击Add,继续下一步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVGDvX0p-1636444219465)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109154430976.png)]

这里找到token的值进行扩选,没有东西就点response。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXIXiPfz-1636444219466)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109153541316.png)]

然后将token的爆破参数改为红框的这个,再复制上一次的token值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kb2CFcFx-1636444219469)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109153943768.png)]

最后进行爆破,成功绕过。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tmXUX804-1636444219469)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20211109153913639.png)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值