题目考点
- Basic access authentication
- 脚本编写
- 爆破
解题思路
- 打开题目链接,发现需要输入用户名和密码才能访问
-
题目提供了常用密码top100,应该是爆破,
因为范围很小,所以我们一个个试就好了,所以我们可以编写简单脚本 -
写脚本前先了解一下基本认证是什么,照搬题目描述:“在HTTP中,基本认证(英语:Basic access authentication)是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。详情请查看 https://zh.wikipedia.org/wiki/HTTP基本认证”
关键的地方如下:
-
使用 Burp 抓包,添加 Authorization 头字段,使用爆破模块
其中,payload 部分编写脚本生成
-
根据提示,容易猜测用户名为 admin,那么 Authorization 头字段的格式就应该为
Authorization: Basic [base64(admin:密码)]
通过以下脚本将提供的密码列表按格式生成好
1 2 3 4 5 6 7 8 9 10 11 12
import sys import base64 l = [] with open('/Users/wujing/Downloads/10_million_password_list_top_100.txt','r') as f: for line in f: l.append(line.strip('\n').split(',')[0]) # print(l[0]) dic = [] for ll in l: encodestr = base64.b64encode(("admin:"+ll).encode('utf-8')) print(str(encodestr,'utf-8'))
将结果放进爆破模块的 payload 中,进行爆破,解码得到密码
输入用户名密码获取flag