当前位置: 首页 > news >正文

十三、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进行抓包;

在这里插入图片描述

(2)把数据包send to intruder

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3、验证码的绕过

3.1 验证码的认证流程

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

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

(2)校验验证码:

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

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

3.2 验证码绕过(on client)

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

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

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

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

在这里插入图片描述

3.3 验证码绕过(on server)

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

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

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

在这里插入图片描述
在这里插入图片描述
(2)验证验证码是否存在不过期的问题,发现验证码可以重复使用。

在这里插入图片描述

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

在这里插入图片描述

3.4 token防爆破?

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

在这里插入图片描述

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

在这里插入图片描述
(3)尝试直接用第一/二次的token试试,报crsf token error
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

设置payload,直接选择你需要的位置,burp会自动生成正则表达式。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
设置最大线程为1,并进行爆破。
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/139471.html

相关文章:

  • 用手势操控现实:OpenCV 音量控制与 AI 换脸技术解析
  • 【leetcode 力扣刷题】移除链表元素 多种解法
  • leetcode503. 下一个更大元素 II 单调栈
  • Oracle中列的维护
  • 后端项目开发:分页功能的实现(Mybatis+pagehelper)
  • SpringBoot集成Drools
  • React创建组件的三种方式及其区别是什么?
  • W6100-EVB-PICO进行UDP组播数据回环测试(九)
  • Qt 阴影边框
  • 前端面试:【性能优化】页面加载性能、渲染性能、资源优化
  • 从按下电源键到进入系统,CPU在干什么?
  • TypeScript初体验
  • 基于 Alpine 环境源码构建 alibaba-tengine(阿里巴巴)的 Docker 镜像
  • 政府网站定期巡检:构建高效、安全与透明的数字政务
  • C++信息学奥赛1138:将字符串中的小写字母转换成大写字母
  • leetcode1475. 商品折扣后的最终价格 【单调栈】
  • macOS M1使用TensorFlow GPU加速
  • GNU-gcc编译选项-1
  • 【DEVOPS】Jenkins使用问题 - 控制台输出乱码
  • logback-spring.xml
  • 华为OD机试之报文重排序【Java源码】
  • 回归预测 | MATLAB实现BES-ELM秃鹰搜索优化算法优化极限学习机多输入单输出回归预测(多指标,多图)
  • DPU在东数西算背景下如何赋能下一代算力基础设施 中科驭数在未来网络发展大会论道
  • 2021年12月 C/C++(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • ArcGIS Serve Windows下用户密码变更导致Server服务无法启动问题
  • React 面试题集锦
  • xargs命令解决“Argument list too long”
  • R语言中<- 的含义
  • 知识图谱Neo4j安装到实践全过程
  • 贪心算法:简单而高效的优化策略