知识点
1、flask cookie伪造
2、flask中的SECRET_ KEY值作用
Flask、Django的 secret key 设置有什么用?
SECRET_KEY配置变量是通用密钥,可在Flask和多个第三方扩展中使用其名所示,加密的强度取决于变量值的机密度.不同的程序要使用不同的密钥,而且要保证其他人不知道你所用的字符串,SECRET_KEY的作用主要是提供一个值做各种HASH,主要的作用应该是在其加密过程中作为算法的一个参数(salt或其他).所以这个值的复杂度也就影响到了数据传输和存储时的复杂度。
3、flask-session-cookie-manager加解密
git clone https://github.com/style-404/flask-session-cookie-manager
session_cookie_manager.py encode [-h] -s -t #加密
session_cookie_manager.py decode [-h] [-s ] -c #解码
具体请看
flask-session-cookie-manager
题解:
1、获取SECRET_KEY
随便注册一个账号后提示查看
https://github.com/woadsl1234/hctf_flask/
发现了该网站的源码,在config.py处获得SECRET_KEY为ckj123
2、伪造 cookie
将随便登录账号获得的cookie使用flask-session-cookie-manager
解码
得到
{'_fresh': True, '_id': b'06915654898f790b44e5554613abeebf06a11a8565a1179ac98614a6ef42eb36a441114625646280fbd1521fd582c78886cbcd2831170ae7085fce07cf79e1a6', 'csrf_token': b'39f077fc80de991722159da4b52dd60235d0384e', 'image': b'jM7s', 'name': '123', 'user_id': '11'}
将name改为admin之后,加密
3、使用构造的cookie登录