CTFHub | 基础认证

Posted 尼泊罗河伯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTFHub | 基础认证相关的知识,希望对你有一定的参考价值。

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 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

以上是关于CTFHub | 基础认证的主要内容,如果未能解决你的问题,请参考以下文章

ctfhub技能树—web前置技能—http协议—Cookie

CTFHub--HTTP协议-请求方式

[CTFHub] 2021-第四届红帽杯网络安全大赛-Web-find_it

CTFHUB-Web-Web前置技能-HTTP协议

CTFHub | .DS_Store

ctfhub技能树—web前置技能—http协议—响应包源代码