buuctf admin writeup
熟悉的登陆注册页面,结合结合题目admin的提示,想到是通过修改admin用户密码或伪造admin身份的方式来以admin账户。 查看源码,看到了一个hint: 下载下来,是靶场的源码 首先尝试抓包分析,抓取了修改密码的请求包,看到了一串session的密文 因为这里使用了flask框架,所以搜索了一下,发现flask的session不存在加密,并且我在GitHub上面找到了flask的session解码及转码的 脚本(脚本小子上线) 而且在源码中,我们很容易的看到了secret_key SECRET_KEY = os.environ.get(‘SECRET_KEY’) or ‘ckj123’ 于是加上key,修改name为admin 拿到了修改后的session,发包修改密码,登录admin账户,拿到flag 最后附上session解码的脚本 import sys import zlib from base64 import b64decode from flask.sessions import session_json_serializer from itsdangerous import base64_decode def decryption(payload): payload, sig = payload.rsplit(b'.', 1) payload,