CTFHUB-WEB-WEB前置技能-HTTP协议-基础认证
前言
解决了许久以来的困惑~
一、解题过程
·题目如下
·打开题目给出的链接,分别是一个密码列表和一个网页
·点击click后需要输入账号密码
·推测密码应该就在密码列表中,该题目需要弱口令爆破
·随便输入一个账号密码,打开BurpSuite开始抓包
发现是经过Base64编码过的,目前有了密码本但没有用户名的线索,将其发送到重发器重新发包,得到“Do You Know admin”的信息,推测用户名为admin
·把包发送到爆破模块,添加有效负载位置,这里注意不要选中Basic
·导入密码列表,设置前缀为admin:(一定要有冒号!因为之前解码的时候在用户名和密码之间就有冒号),设置编码为Base64
·攻击后,找到时长不一样的一项
·将其重发,或者把密码解码后在原先的网页登录,就可以看到flag了
(忘记截图)
二、过程详解
1.关于基本认证
HTTP基本认证,也就是Basic认证,是从HTTP/1. 1 就定义的认证方式,是Web服务器与通信客户端之间进行的认证方式。
BASIC认证步骤如下:
这张图很好的解释了为什么是Base64编码,以及为什么用户名和密码之间有冒号—因为是规定。
2.关于BurpSuite代理
在这道题抓包的时候我遇到了相当多次的代理开启与关闭,这让我感觉很费劲也很费解。BP抓包时需要开启代理,但开启代理后网页是打不开的,在打开与关闭之间横跳了很多次之后我终于找到了问题所在:
于是在下载FoxyProxy插件后,我关闭了拦截请求,发现果然可以顺利打开网页了~~
3.BP爆破
这次是第一次使用BurpSuite的爆破模块,因为是很简单的爆破所以基本没有遇到太多的问题,只需要注意有效负载位置设定好、载荷选项和负载处理配置好就行了,更详细的使用方法看这篇 保姆级BurpSuite"爆破"模块使用指南
总结
搞清楚原理以后这道题还是比较好做的~~