论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
HTTP基础认证
HTTP基础认证
盛世宏图
金牌会员
|
2022-9-17 08:40:23
|
显示全部楼层
|
阅读模式
楼主
主题
909
|
帖子
909
|
积分
2727
在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户名和密码的一种方式。
在HTTP中,
基本认证
(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供用户名和密码的一种方式。
在进行基本认证的过程里,请求的HTTP头字段会包含Authorization字段,形式如下: Authorization: Basic ,该凭证是用户和密码的组和的base64编码。
优点
HTTP基本认证 是一种十分简单的技术,使用的是HTTP头部字段强制用户访问网络资源,而不是通过必要的cookie、会话ID、登录页面等(非获取访问控制的)手段。
基本上所有流行的网页浏览器都支持基本认证。基本认证很少在可公开访问的互联网网站上使用,有时候会在小型私有系统中使用(如路由器网页管理接口)。之后诞生的 HTTP摘要认证 用于替代基本认证,允许密钥以相对安全的方式在不安全的通道上传输。
程序员和系统管理员有时会在可信网络环境中使用基本认证。由于,基本认证使用的是Base64,可解码成明文,因此使用Telnet等网络协议工具进行监视时,可以直接获取内容,并用于诊断。
缺点
基本认证 并没有为传送凭证(英语:transmitted credentials)提供任何机密性的保护。仅仅使用 Base64 编码并传输,而没有使用任何 加密 或 散列算法。因此,基本认证常常和 HTTPS 一起使用,以提供机密性。
现存的浏览器保存认证信息直到标签页或浏览器被关闭,或者用户清除历史记录。HTTP没有为服务器提供一种方法指示客户端丢弃这些被缓存的密钥。这意味着服务器端在用户不关闭浏览器的情况下,并没有一种有效的方法来让用户退出。
同时 HTTP 并没有提供退出机制。但是,在一些浏览器上,存在清除凭证(credentials )缓存的方法。
文字过程
这一个典型的HTTP客户端和HTTP服务器的对话,服务器安装在同一台计算机上(localhost),包含以下步骤:
客户端请求一个需要身份认证的页面,但是没有提供用户名和密码。这通常是用户在地址栏输入一个URL,或是打开了一个指向该页面的链接。
服务端响应一个401应答码,并提供一个认证域(英语:Access Authentication),头部字段为:WWW-Authenticate,该字段为要求客户端提供适配的资源。WWW-Authenticate: Basic realm="Secure Area" 该例子,Basic 为验证的模式,realm="Secure Area"为保护域,用于与其他请求URI作区别。
接到应答后,客户端显示该认证域给用户并提示输入用户名和密码。此时用户可以选择确定或取消。
用户输入了用户名和密码后,客户端软件将对其进行处理,并在原先的请求上增加认证消息头(英语:Authorization)然后重新发送再次尝试。过程如下:
将用户名和密码拼接为用户:密码形式的字符串。
如果服务器WWW-Authenticate字段有指定编码,则将字符串编译成对应的编码(如:UTF-8)。
将字符串编码为base64。
拼接Basic ,放入Authorization头字段,就像这样:Authorization Basic 字符串。 示例:用户名:Aladdin ,密码:OpenSesame ,拼接后为Aladdin:OpenSesame,编码后QWxhZGRpbjpPcGVuU2VzYW1l,在HTTP头部里会是这样:Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l。 Base64编码并非加密算法,其无法保证安全与隐私,仅用于将用户名和密码中的不兼容的字符转换为均与HTTP协议兼容的字符集。
在本例中,服务器接受了该认证屏幕并返回了页面。如果用户凭据非法或无效,服务器可能再次返回401应答码,客户端可以再次提示用户输入密码。
注意:
客户端有可能不需要用户交互,在第一次请求中就发送认证消息头。
CTFHUB上HTTP身份认证实例:
1.在输入框用户名输入admin,密码框输入123456
2.使用Burp Suit进行抓包
由上面的前言可以知道,消息认证头Authorization后面跟着的是base64编码的admin:123456。
直接将抓到的数据包发送到Intruder这个模块,再进行爆破。
在这个地方标注出来,如图下所示
在Payloads模块导入密码及配置相关信息
最后点击Start attack进行爆破
最后,可在status200值内可以看到密码正确的结果。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
盛世宏图
金牌会员
这个人很懒什么都没写!
楼主热帖
绝了,这20款可视化大屏模板太酷炫了( ...
【十年网络安全工程师整理】—100渗透 ...
零基础学Java(1)初识Java程序 ...
Frida主动调用java函数来爆破解题思路 ...
聊聊DevOps制品管理-不止是存储制品这 ...
Python程序运行内存的查看
15年了,我们到底怎样才能用好 Serverl ...
记一次 .NET 某RFID标签管理系统 CPU ...
lamp
数据库扩容也可以如此丝滑,MySQL千亿 ...
标签云
存储
服务器
快速回复
返回顶部
返回列表