1. 进入题目查看页面源码,是使用flask模板搭建,第一反应是存在SSTI。
2. 突破口在第二个装饰函数 @app.route('/shrine/<path:shrine>'),测试是否存在SSTI
存在回显并且进行了运算,存在SSTI没错了
3. 注意到 def safe_jinjia(s) 函数对输入进行了过滤,不能使用(),config和self。
使用
{{get_flashed_messages.__globals__['current_app'].config['FLAG']}} 
得到flag,关于current__app , 可以看看这个,写的很详细:https://www.cnblogs.com/huhuxixi/articles/10673377.html