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

[ web基础篇 ] Burp Suite 爆破 Basic 认证密码

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、什么是Basic认证
    • 1、Basic认证介绍
      • 1.Basic认证简介
      • 2.Basic认证优点
      • 3.Basic认证缺点
    • 2、Authorization头介绍
      • 1.Basic认证
      • 2.Authorization语法
  • 二、Burp Suite爆破Basic认证密码
    • 1、访问存在Basic认证的站点并抓包
    • 1. 访问basic认证站点
    • 2.抓包发现Authorization字段
    • 3.验证Og==应该就是:(英文冒号)
    • 2、导入爆破模块进行爆破
      • 1.设置爆破点
      • 2.设置payload
      • 3.设置payload Processing
      • 4.开始爆破
      • 5.得到账号密码
    • 3、成功登录站点

一、什么是Basic认证

1、Basic认证介绍

1.Basic认证简介

在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。

2.Basic认证优点

基本认证的一个优点是基本上所有流行的网页浏览器都支持基本认证。基本认证很少在可公开访问的互联网网站上使用,有时候会在小的私有系统中使用(如路由器网页管理接口)。后来的机制HTTP摘要认证是为替代基本认证而开发的,允许密钥以相对安全的方式在不安全的通道上传输。
程序员和系统管理员有时会在可信网络环境中使用基本认证,使用Telnet或其他明文网络协议工具手动地测试Web服务器。这是一个麻烦的过程,但是网络上传输的内容是人可读的,以便进行诊断。

3.Basic认证缺点

虽然基本认证非常容易实现,但该方案创建在以下的假设的基础上,即:客户端和服务器主机之间的连接是安全可信的。特别是,如果没有使用SSL/TLS这样的传输层安全的协议,那么以明文传输的密钥和口令很容易被拦截。该方案也同样没有对服务器返回的信息提供保护。
现存的浏览器保存认证信息直到标签页或浏览器被关闭,或者用户清除历史记录。HTTP没有为服务器提供一种方法指示客户端丢弃这些被缓存的密钥。这意味着服务器端在用户不关闭浏览器的情况下,并没有一种有效的方法来让用户注销。

2、Authorization头介绍

1.Basic认证

HTTP Request有时候会有Authorization头,这个头是用来向服务器发送认证用户的凭证的。
使用这个头时有几种不同的认证方式,Basic认证就是其中一种,其特征是:

用户名和密码之间以冒号相连。
对上一步中的字符串进行base64编码。

在这里插入图片描述

上面提到了Authorization头,那么Authorization头是什么呢
HTTP Authorization请求标头包含用于向服务器认证用户代理的凭证,通常在服务器响应401 Unauthorized状态和WWW-Authenticate标题后。

2.Authorization语法

Authorization:
认证类型。常见的类型是basic。
其他类型:
IANA 认证计划注册表
AWS 服务器身份验证(AWS4-HMAC-SHA256)
如果使用“Basic”身份验证方案,则凭证的构造方式如下所示:
用户名和密码与冒号(aladdin:opensesame)组合在一起。
生成的字符串是 base64 编码的(YWxhZGRpbjpvcGVuc2VzYW1l)。
举例
Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l

这里解释就看图把,以前学习的时候标注了颜色,这里就不标注了
在这里插入图片描述

二、Burp Suite爆破Basic认证密码

1、访问存在Basic认证的站点并抓包

1. 访问basic认证站点

在这里插入图片描述

2.抓包发现Authorization字段

Authorization: Basic Og==

我们看到这个字段可以确定是basic
在这里插入图片描述

格式Authorization: Basic base64编码
那Og==应该就是:(英文冒号)

3.验证Og==应该就是:(英文冒号)

Base64在线解码工具:

https://base64.us

在这里插入图片描述

2、导入爆破模块进行爆破

1.设置爆破点

把上图所示proxy模块抓到的报文send to intruder,将Authorization头中的Base64编码部分设置为爆破点,Attack type设置为Sniper
在这里插入图片描述

2.设置payload

设置payload,根据自己的需要就好
在这里插入图片描述

3.设置payload Processing

burp Suite爆破Basic认证密码重点就是设置payload Processing,也就是在用payload之前对它进行一些操作,后续我会有一个系列讲burp suite详细介绍这个功能,这里知道就好。
一定要注意顺序,先添加Add Prefix:admin: (用户名后面那个冒号一定不要忘)
在这里插入图片描述

再添加Base64-encode
在这里插入图片描述

另外由于base64编码之后可能有一些特殊符号,所以Payload Encoding中对特殊字符进行url编码的框框不要勾选
在这里插入图片描述

4.开始爆破

然后就开始爆破

在这里插入图片描述

5.得到账号密码

状态码(Status列)401是登录失败了,状态码200是登录成功了,如果payload特别多,可以按照Status排个序,然后找200的。
上一步中的爆破结果还是base64编码的,可以拿到在线解码工具里面解码,也可以直接在爆破结果中用快捷键Ctrl+Shift+B原地解码
在这里插入图片描述

解码得到账号密码都是admin

3、成功登录站点

输入账号密码进行basic认证,成功登录站点
在这里插入图片描述

相关文章:

  • JAVA 抽象类和接口——万字理解
  • Matlab|基于生物地理学的优化 (BBO)
  • 字节跳动面经——实习算法岗
  • 一种改进的樽海鞘群算法-附代码
  • CDH 01CentOS配置(markdown新版一)
  • 前端Vue之Request URL:请求地址乱套问题记录
  • Java面向对象/类和对象/封装/private/public关键字
  • 认识ICMP协议 —— ping命令的作用过程
  • 【Pandas总结】第七节 Pandas 合并数据集_pd.concat()
  • 【Meetup预告】OpenMLDB+37手游:一键查收实时特征计算场景案例及进阶使用攻略
  • OPTEE:TA镜像的签名和加载-上(五)
  • mysql在django中开启事务,实现悲观锁和乐观锁
  • 极限多标签学习之-PLT
  • MMDetection系列 | 5. MMDetection运行配置介绍
  • java实现顺序表
  • Google 是如何开发 Web 框架的
  • Angular4 模板式表单用法以及验证
  • HTML5新特性总结
  • isset在php5.6-和php7.0+的一些差异
  • Making An Indicator With Pure CSS
  • Mysql数据库的条件查询语句
  • vagrant 添加本地 box 安装 laravel homestead
  • 如何在GitHub上创建个人博客
  • 使用common-codec进行md5加密
  • 试着探索高并发下的系统架构面貌
  • 算法---两个栈实现一个队列
  • 用element的upload组件实现多图片上传和压缩
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #预处理和函数的对比以及条件编译
  • (1)(1.9) MSP (version 4.2)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (SpringBoot)第七章:SpringBoot日志文件
  • (定时器/计数器)中断系统(详解与使用)
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .gitignore文件_Git:.gitignore
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • /etc/sudoer文件配置简析
  • [22]. 括号生成
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试
  • [CSS]文字旁边的竖线以及布局知识
  • [IE编程] 如何编程清除IE缓存
  • [JavaWeb]—Spring入门
  • [Java并发编程实战] 共享对象之可见性
  • [NOIP2015] 运输计划
  • [python] 基于diagrams库绘制系统架构图
  • [python] 之 装饰器
  • [Symbol.toPrimitive](hint) hint 什么时候为 default?
  • [unreal] 切换关卡