0x01 基础铺垫
-
题目提示
在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证
0x02 WriteUp
- 题目展示
点击click后出现了登录框
- 分析
1.题目和认证登录有关,我们先任意输入admin/admin进行登录尝试。没什么反应。抓包看数据。可以看见一条特殊字符串Basic realm="Do u know admin ?,暂时没有其他线索,我们假设用户名就是admin,然后进行暴力**。
2.**之前我们先查看提交登录请求的基本格式,因为有时候数据包并不是单纯的明文提交,可能做了加密处理。
3.整个登录请求都在这里,只有这个Authorization字段相对比较特殊,字符串格式xxxxxxxxx==,大概率为Base64编码,也就是说我们提交的账户密码被编码了,我们利用Burpsuite的Decoder模块进行解密尝试。第一步粘贴需要解密的内容,第二步点击Decode as并选择Base64即可获得解密结果。发现我们提交的账户密码变成了admin:admin这种格式提交上去了。
4.题目提供了附件下载,打开后是Top100字典。
5.我们将数据包发送到intruder**模块
6.首先使用clear清楚默认标记,然后选中我们需要**的内容进行标记。
最终呈现的结果:
7.选择payload,再点击load加载我们刚才下载的字典。
8.根据格式要求,添加前缀admin:
9.如果这时候直接**,那么提交的请求是明文的,可以看见**过程没有按照认证要求进行Base64编码。
10.添加Base64编码
11.取消Encoding勾选,如果不取消,那么数据会被URL编码,= 会被转成%3d,这样的话**是不会有结果的。因为你提交了错误的数据请求。
11.都设置完毕后,点击start attack进行**
12.**完了,我们点击length选项,然后发现有一个长度和其他不一样。
13.最终拿到我们所需要的Flag!
本题难度在于请求中字符串加密情况的处理和Burpsuite工具的**功能使用。
0x03 The End
关注我不迷路,每天学点CTF小知识!
转载请注明出处!