简介

Http Basic Authentication,HTTP基本认证,是HTTP的4种认证方式之一。 在浏览需要基本认证的网页时,浏览器会弹出一个登录验证的对话框。如下图中TomcatManager APP平台登录验证,就是使用HTTP基本认证。

Basic Auth1

基本流程

  1. 浏览器向服务端发起请求,服务端检查请求头是否含有Authorization,若没有则返回响应码401

    Basic Auth2

  2. 浏览器接收到401响应码后弹出登录验证的对话框,用户手动输入账号密码后,浏览器将账号密码以 账号:密码 的格式,并以Base64加密后放入请求头中新增的Authorization中,再发送给服务器。

    Basic Auth3

  3. 服务器将Authorization 中的账号密码取出并进行验证。 若验证通过,则将请求资源返回给浏览器。

Burp爆破

抓包

  1. 第一个数据包直接发送,等待返回401且浏览器弹出登录框后,任意输入账号密码再发送并抓包
  2. 将抓到的包含用户名和密码的数据包发送到Intruder模块
  3. 来到Intruder模块下的Positions,设置需要爆破的位置,即被Base64加密的那串字符

    Basic Auth4

Payload

  1. 然后设置Payloads,这里Payload type选择自定义迭代器Custom iterator,即可以自己组合想要的Payload格式
  2. 前面说过,账号密码的格式为账号:密码,即由账号、冒号:和密码3个部分组成,因此需要在Payload Options处设置组合格式。
  3. Position选择1设置第1部分,即账号部分。可通过Load选择对应的字典,也可以在下面Add处逐个添加

    Basic Auth5

  4. 然后选择2第2部分,这里只有一个冒号:,因此只需在Add处填入:并点击Add添加即可

    Basic Auth6

  5. 最后选择3设置第3部分,这里与第1部分设置账号一样,选择对应的密码字典或逐个添加密码即可

设置加密

  1. 由于发送过去的账号密码会以Base64加密,因此这里还需要设置加密方式
  2. 在下面Payload Processing中选择Add,在弹框中选择Encode,加密方式选择base64-encode后点击OK即可

    Basic Auth7

  3. 最后点击右上角Start attack开始爆破
如果觉得我的文章对你有帮助,请我吃颗糖吧~