BUUCTF [WesternCTF2018]shrine

[WesternCTF2018]shrine模板注入

在这里插入图片描述
题目打开查看源码,给的python代码,看到flask,想到模板注入
可以这样测试:
在这里插入图片描述
看源码app.config['FLAG'] = os.environ.pop('FLAG')
推测{ {config}}可查看所有app.config内容,但是这题设了黑名单[‘config’,‘self’]并且过滤了括号
不过python还有一些内置函数,比如url_forget_flashed_messages

url_for
在这里插入图片描述
current_app意思应该是当前app,那我们就当前app下的config:
在这里插入图片描述
flag已经出来了

get_flashed_message

同理:

/shrine/{
    
    {
    
    get_flashed_messages.__globals__['current_app'].config['FLAG']}}

在这里插入图片描述

参考链接:
https://www.cnblogs.com/wangtanzhi/p/12238779.html
https://www.jianshu.com/p/aef2ae0498df

猜你喜欢

转载自blog.csdn.net/qq_42812036/article/details/104324923