[护网杯 2018]easy_tornado&&[WesternCTF2018]shrine


  • [护网杯 2018]easy_tornado
    tornado是一种web服务器软件的开源版本

Tornado模板只是HTML,在标记中嵌入python控制控制序列和表达式

逻辑相关 :{%    %}
变量相关 :{{    }}

{{}}并不仅仅可以传递变量,还可以执行一些简单的表达式

打开后就显示出下面的页面:

render是python的一个渲染函数,是一种模板,通过传入不同的参数而生成不同的网页

需要获取cookie_secret,参考文档
我没有找到,参考:

只要filehash和filename的数据能够对应上就可以读取filename文件中的内容

修改filename重新进入页面,发现报错

可以进行参数传递的地方由?filename=就变成了/error?msg=
然后进行测试一下

发现是有过滤的

代码:

  • [WesternCTF2018]shrine
    题目给了源码,整理一下:

app.config['FLAG'] = os.environ.pop('FLAG')

可以用{{config}}查看app.config内容
在/shrine目录下测试一下

下面思路参考此网站

1.用python中函数url_for,用于构建指定函数的url,在配合globals(),该函数会以字典类型返回当前 
  位置的全部全局变量
  /shrine/{{url_for.__globals__}}
2.current_app': <Flask 'app'>这里的current就是指的当前的app,查看他的config
  /shrine/{{url_for.__globals__['current_app'].config}}
  • 总结
    这里面的好多知识点自己都不明白,所以接下来还要继续学习,下一步要进一步深入学习,总结这里面的函数,一些基本常识的知识点

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

声明:啊小新sunny|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - [护网杯 2018]easy_tornado&&[WesternCTF2018]shrine


Good friends, good books, and a sleepy conscience: this is the ideal life.