密码爆破实验

65 阅读2分钟

试验材料准备

皮卡丘靶场,地址:pikachu.shifa23.com/
dvwa靶场下载地址:github.com/digininja/D…

pikachu靶场四个难度爆破

基于表单的暴力破解

此难度用于模拟无任何验证的登录框:

image.png

仅需编写字典即可爆破成功

  • 步骤
  1. 打开中间人代理,让数据包途径burpsuite工具再流向服务器:

image.png

  1. 随意输入账户与密码并点击登录后进行抓包:

image.png

  1. 右击空白处将抓到的包发往intruder模块:

image.png

  1. 添加需要爆破的参数后选择cluster bomb模式:

image.png

5.编写用户名字典:

image.png

  1. 编写密码字典:

image.png

7.点击右上角start attack开始爆破:

image.png

  1. 得出爆破结果后寻找其中代码长度不同的一条:

image.png

  • 此对用户名密码组合被找到,爆破成功。尝试在靶场登陆:

image.png 显示登录成功

前端验证绕过

步骤与普通的字典爆破差不多,唯一需要注意的是首次抓包时验证码需要输入正确:

image.png

结果为:

image.png

使用爆破出的用户名密码尝试登录:

image.png登录成功

后端验证爆破

  • 区分前后端验证的方法

image.png

右击空白处选择下图中的选项抓取返回包:

image.png

点击forward跟进后会抓到返回包,可以看到下次需要输入的验证码:

image.png

而此靶场的前端验证点击验证码则不会有请求包发出,所以可以使用这种方法区分验证方式

操作步骤与前两种相同,得到的结果为:

image.png

token防护爆破

  • 这种防护方式与前两种验证方式不同,token是服务器随机生成的令牌,且每验证一次就会生成新的token,所以需要每次与用户名密码一起验证才能通过。那么在爆破的时候同样需要填入服务器生成的token。所以若有这种防护模式,不能像前三种爆破方法一样批量穷举,只能单条发送进行验证

token防护的请求包截图:

image.png

所以这种情况下需要知道要爆破的账号,抓包并添加到爆破模块后,选择pitchfork模式,并用递归形式进行爆破:

image.png

这里的payload1对应的是密码,用简单形式就可以:

image.png

payload2对应的则是token,设置步骤如下:

  1. 将payload type 设置为recursive grep:

image.png

  1. 将爆破次数设置为一次:

image.png

  1. 将服务器发送的返回包中的token套入payload2:

image.png

返回payloads可以看到payload2设置好了:

image.png

start attack后找到length值最大的一条即可得知密码:

image.png

dvwa靶场的low、medium直接抓包爆破即可,high难度有token防护,破解方法与pikachu一样。这里只爆破high难度,找到length最大值,结果为:

image.png