pikachu靶场实战 暴力破解篇

暴力破解

  • 基于表单的暴力破解
  • 验证码绕过(on server)
  • 验证码绕过(on client)
  • token防爆破

基于表单的暴力破解

pikachu靶场实战 暴力破解篇_第1张图片
密码或用户名错误时提示
在这里插入图片描述

打开bp抓包
pikachu靶场实战 暴力破解篇_第2张图片pikachu靶场实战 暴力破解篇_第3张图片加载字典
pikachu靶场实战 暴力破解篇_第4张图片爆破,长度唯一就是它
pikachu靶场实战 暴力破解篇_第5张图片成功登陆
pikachu靶场实战 暴力破解篇_第6张图片

验证码绕过(on server)

先搞清验证码原理
验证码于服务器端生成,发送给客户端,并以图像格式显示。客户端提交所显示的验证码,客户端接收并进行比较,若比对失败则不能和实现登录或注册,反之成功后跳转相应界面。
pikachu靶场实战 暴力破解篇_第7张图片服务端的验证码几种常见的问题:

  • 验证码后台不过期,可以长时间使用
  • 验证码校验不合格,逻辑出现问题
  • 验证码设计的太过简单和规律,容易被猜解
    pikachu靶场实战 暴力破解篇_第8张图片
    验证码输入错误时会有以下提示
    pikachu靶场实战 暴力破解篇_第9张图片
    当验证码输入正确才会对用户名和密码进行验证
    写错验证码提示验证码输入错误,说明服务端对验证码进行了验证
    pikachu靶场实战 暴力破解篇_第10张图片验证码正确
    pikachu靶场实战 暴力破解篇_第11张图片我们尝试不更换验证码,更换用户
    pikachu靶场实战 暴力破解篇_第12张图片提示用户名和密码不存在说明验证码是正确的,这说明了验证码是长期有效的,验证码不变直接进行暴力破解。方法相同
    pikachu靶场实战 暴力破解篇_第13张图片长度唯一,密码123456成功登陆

验证码绕过(on client)

pikachu靶场实战 暴力破解篇_第14张图片
查看源码中,验证码的验证逻辑是前端来实现的
pikachu靶场实战 暴力破解篇_第15张图片验证码的逻辑每次从0-9 A-Z随机五位来作为验证码。然后调用validate()函数去验证。
可以看到js事件,每次点击都会调用createcode()
在这里插入图片描述
bp中密码正确时
pikachu靶场实战 暴力破解篇_第16张图片当更改验证码却没有提示验证码错误,在浏览器中验证码错误会给予提示,但bp中却没有提示,这说明他只是在前端进行了验证码验证,服务端并没有进行验证。
pikachu靶场实战 暴力破解篇_第17张图片所以我们可以无视验证码直接进行暴力破解。
pikachu靶场实战 暴力破解篇_第18张图片

token防爆破

token验证码流程
pikachu靶场实战 暴力破解篇_第19张图片
session与token的不同是,session会保存在服务端,token保存在客户端。
pikachu靶场实战 暴力破解篇_第20张图片
查看源码看到了隐藏的标签,标签中包含token值
每次请求都会生成新的token,所以我们爆破每次就要加上这个token值
pikachu靶场实战 暴力破解篇_第21张图片token我们使用递归搜索
在这里插入图片描述
grep-extract中添加标记token值
pikachu靶场实战 暴力破解篇_第22张图片重定向设置为总是
pikachu靶场实战 暴力破解篇_第23张图片
首次的token值复制到这里
在这里插入图片描述
长度唯一,登陆成功
pikachu靶场实战 暴力破解篇_第24张图片
pikachu靶场实战 暴力破解篇_第25张图片

人生漫漫其修远兮,网安无止境。
一同前行,加油!

你可能感兴趣的:(靶场实战)