[护网杯 2018]easy_tornado

tornado模板注入-CSDN博客 贴一篇别人的blog

先了解一下tornado,tornado是python的一个模板,tornado模板注入

语法:

控制语句
和flask类似,tornado中的模板也可以使用for、if、while等控制语句,并且同样使用{%%}进行包裹。其中break continue也可以通过{%%}包裹使用。
但是不同的是结尾为固定的{% end %}
表达式
表达式使用{{}}进行包裹 

在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量。

handler.settings,可以把它理解为tornado模板中内置的环境配置信息名称,通过handler.settings可以访问到环境配置的一些信息,看到tornado模板基本上可以通过handler.settings一把梭。

打开发现看到页面,发现三个txt文件

依次点开,发现给了不同的提示

flag.txt是flag in /fllllllllllllag

welcome.txt中没给有用的东西

但是在hints.txt给了提示(猜测可能与url中的filename有关系,并且三个文件都有filehash)

那么这里的hints.txt给出了我们解题的方向,这里我们知道了flag in /fllllllllllllag,所以filename应该是/fllllllllllllag,然后filehash应该是md5(cookie_secret+md5(filename)),所以现在我们只需要找到cookie_secret就可以得到filehash了

题目给了提示是tornado,通过模板注入来获取cookie_secret

error?msg={{handler.settings}}

然后我们根据hints.txt中的方法来进行md5加密就好了

/fllllllllllllag=3bf9f6cf685a6dd8defadabfb41a03a1

0e233552-60e1-4a7e-b2b2-674cb01e1bc83bf9f6cf685a6dd8defadabfb41a03a1=ff4fa83d7605583aac04d1bb6c6aef19

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值