0x00 前言
CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。
0x01 题目描述
基础认证:
在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证。
网页显示内容
这是您的flag:点击
0x02 解题过程
这题有一个题目附件 10_million_password_list_top_100 内容是1000 万密码列表的前 100 个,那么这题应该和暴力破解有关。在这之前,我先使用了暴力破解工具进行尝试,但是密码都试遍了也没成功。
Ⅰ点击网页提示click,发现页面跳转到需要登录的flag.html页面
Ⅱ使用抓包工具查看网页包,在用户名和密码处填上自己记得住的字符方便抓包后查看
ctfhub #抓包测试使用用户名
111111 #抓包测试使用密码
Ⅲ看到代码第十行有关于一个验证请求,且以加密状态显示。选中这条数据发现burpsuite抓包工具自动解密出这是来自base64的加密,且原文为刚才输入的账号和密码。
Ⅳ知道数据经过加密就好办了,将抓包数据发送给攻击器Intruder
Ⅴ选中加密的数据并点击添加Add,然后在payloads中为暴力破解做好配置
Ⅵsets下不做配置使用默认即可,在options下添加从题目下载的附件
Ⅶprocessing下添加一个前缀表示账号,因为此题没有给出账号的字典,判断可能是简单账号,例如,ctfhub、user、admin。改为base64加密方式并去掉encoding下的框选,因为请求不一样
Ⅷ这里在使用admin账号时发现一个状态码显示200的页面说明登录成功
Ⅸ发送状态码为200的数据给重放器执行重放攻击查看题目flag
Ⅹ将数据放到base解码后看到账号密码,登录页面验证发现成功登录
admin:ashley
0x03 HTTP 基础认证
1.HTTP基础认证框架
HTTP 基础认证框架,浏览器(用户)可以提供身份验证凭证给服务端,由服务端发送请求 challenge 来查询。工作流程如下:服务器向客户端返回 401 状态码并在首部提供如何进行验证的信息,其中至少要包括一种查询方式。用户可以通过证明自己的身份在新发送给服务端的请求中添加 Authorization 首部字段来验证。通常凭证信息会被编码或者加密处理。
HTTP 基础认证过程示意图
0x04 参考文献
[1].mdn web docs. HTTP authentication[EB/OL]. [2022-09-30]. https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication.
0x05 总结
文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。
版权归原作者 尼泊罗河伯 所有, 如有侵权,请联系我们删除。