HTTP基础认证

打印 上一主题 下一主题

主题 536|帖子 536|积分 1608

  在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 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表