简介
Http Basic Authentication
,HTTP基本认证,是HTTP的4种认证方式之一。 在浏览需要基本认证的网页时,浏览器会弹出一个登录验证的对话框。如下图中Tomcat
的Manager APP
平台登录验证,就是使用HTTP基本认证。
基本流程
- 浏览器向服务端发起请求,服务端检查请求头是否含有
Authorization
,若没有则返回响应码401
- 浏览器接收到
401
响应码后弹出登录验证的对话框,用户手动输入账号密码后,浏览器将账号密码以账号:密码
的格式,并以Base64加密后放入请求头中新增的Authorization
中,再发送给服务器。 服务器将
Authorization
中的账号密码取出并进行验证。 若验证通过,则将请求资源返回给浏览器。
Burp爆破
抓包
第一个数据包直接发送,等待返回
401
且浏览器弹出登录框后,任意输入账号密码再发送并抓包- 将抓到的包含用户名和密码的数据包发送到
Intruder
模块 来到
Intruder
模块下的Positions
,设置需要爆破的位置,即被Base64加密的那串字符
Payload
然后设置
Payloads
,这里Payload type
选择自定义迭代器Custom iterator
,即可以自己组合想要的Payload
格式- 前面说过,账号密码的格式为
账号:密码
,即由账号、冒号:
和密码3个部分组成,因此需要在Payload Options
处设置组合格式。 Position
选择1
设置第1部分,即账号部分。可通过Load
选择对应的字典,也可以在下面Add
处逐个添加- 然后选择
2
第2部分,这里只有一个冒号:
,因此只需在Add
处填入:
并点击Add
添加即可 最后选择
3
设置第3部分,这里与第1部分设置账号一样,选择对应的密码字典或逐个添加密码即可
设置加密
由于发送过去的账号密码会以Base64加密,因此这里还需要设置加密方式
- 在下面
Payload Processing
中选择Add
,在弹框中选择Encode
,加密方式选择base64-encode
后点击OK即可 - 最后点击右上角
Start attack
开始爆破