十三、pikachu之暴力破解

文章目录

  • 1、暴力破解概述
  • 2、基于表单的暴力破解
  • 3、验证码的绕过
    • 3.1 验证码的认证流程
    • 3.2 验证码绕过(on client)
    • 3.3 验证码绕过(on server)
    • 3.4 token防爆破?

1、暴力破解概述

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

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

  • 是否要求用户设置复杂的密码;
  • 是否每次认证都使用安全的验证码或者手机otp;
  • 是否对尝试登录的行为进行判断和限制(如:连续5次错误登录,进行账号锁定或IP地址锁定等);
  • 是否采用了双因素认证;

2、基于表单的暴力破解

(1)随便输入用户名和密码,并用burp进行抓包;

十三、pikachu之暴力破解_第1张图片

(2)把数据包send to intruder

十三、pikachu之暴力破解_第2张图片

(3)选择cluster bomb模式,将usenamepassword作为变量;

十三、pikachu之暴力破解_第3张图片

(4)设置payload,并导入字典,然后进行穷举。

十三、pikachu之暴力破解_第4张图片

(5)根据length,查看结果,可知:用户名为admin,密码为123456。

十三、pikachu之暴力破解_第5张图片

3、验证码的绕过

3.1 验证码的认证流程

(1)客户端request登录页面,后台生成验证码:

  • 后台使用算法生成图片,并将图片response给客户端;
  • 同时将算法生成的值全局赋值存到SESSION中。

(2)校验验证码:

  • 客户端将认证信息和验证码一同提交;
  • 后台对提交验证码与SESSION里面的进行比较。

(3)客户端重新刷新页面,再次生成新的验证码:
(4)验证码算法中一般包含随机数,所以每次刷新都会改变。

3.2 验证码绕过(on client)

不安全验证码on client常见问题:

  • 使用前端js实现验证码(纸老虎);
  • 将验证码在cookie中泄露,容易被获取;
  • 将验证码在前端源代码中泄露,容易被获取。

(1)随便输入账号密码,不输入验证码,提示请输入验证码;输入错误验证码,提示验证码输入错误;输入正确验证码,提示账号密码错误。

十三、pikachu之暴力破解_第6张图片
十三、pikachu之暴力破解_第7张图片
十三、pikachu之暴力破解_第8张图片

(2)由于验证码每次会变,我们无法从验证码这块进行暴力破解。查看页面的源码,看一下这个验证码是不是在前端做的,发现验证码是在javascript实现的。

十三、pikachu之暴力破解_第9张图片

(3)既然验证码是前端做的,可以通过以下方法绕过验证码:

  • 删除事件;
  • 禁用javascript;
  • 用burp抓包绕过。

  这里,我们先正确填写验证码,再使用burp抓包,然后爆破。

十三、pikachu之暴力破解_第10张图片

3.3 验证码绕过(on server)

不安全验证码(on server)常见问题:

  • 验证码在后台不过期,导致可以长期被使用;
  • 验证码校验不严格,逻辑出现问题;
  • 验证码设计的太过简单和有规律,容易被猜解。

(1)通过抓包,随便输入账号密码,不输入验证码,提示请输入验证码;输入错误验证码,提示验证码输入错误;输入正确验证码,提示账号密码错误。

十三、pikachu之暴力破解_第11张图片
十三、pikachu之暴力破解_第12张图片
(2)验证验证码是否存在不过期的问题,发现验证码可以重复使用。

十三、pikachu之暴力破解_第13张图片

(3)使用同样的方法进行爆破。

十三、pikachu之暴力破解_第14张图片

3.4 token防爆破?

(1)这关没有验证码了,用户名或者密码输错会提示用户名或密码不存在。

十三、pikachu之暴力破解_第15张图片

(2)抓取两次登录的数据包,然后放到compare里进行比较,查看二者的区别;

十三、pikachu之暴力破解_第16张图片
(3)尝试直接用第一/二次的token试试,报crsf token error
十三、pikachu之暴力破解_第17张图片

(4)尝试删除token,发现同样不行;

十三、pikachu之暴力破解_第18张图片

(5)在返回包里,发现了下一次验证的token,试试能不能绕过验证。事实证明返回包里的token就是下一次验证的token。

十三、pikachu之暴力破解_第19张图片

(6)使用burp的intrude模块进行爆破,选择pitchfork。最好知道用户名,因为在pitchfork模式下,如果你的字典只有100个密码组合,burp只执行100次。

十三、pikachu之暴力破解_第20张图片

前一个变量的设置跟之前一样,最后token的设置选择recursive grep

十三、pikachu之暴力破解_第21张图片

设置payload,直接选择你需要的位置,burp会自动生成正则表达式。
十三、pikachu之暴力破解_第22张图片

十三、pikachu之暴力破解_第23张图片
十三、pikachu之暴力破解_第24张图片
设置最大线程为1,并进行爆破。
十三、pikachu之暴力破解_第25张图片
十三、pikachu之暴力破解_第26张图片

你可能感兴趣的:(pikachu,网络,服务器,运维)