[护网杯 2018]easy_tornado

1.看看题目给了我们三个文件:

/flag.txt

url=?filename=/flag.txt&filehash=98c6aac4fbecf1b8604767afad2b65ef



告诉flag在/fllllllllllllag里面。

把fliename替换后报错:

/welcome.txt

url=?filename=/welcome.txt&filehash=b974cea7b45f12a2d446e8e7843ce2fb

题目是tornado它是一个用Python语言写成的Web服务器兼Web应用框架,而render是python中的一个渲染函数。//也就是一种模板,通过调用的参数不同,生成不同的网页。

这是一些关于python开发的知识,鄙人不才。


召唤大佬:

render函数介绍

tornado模板self.render和模板变量传递

/hint.txt

url=?filename=/hints.txt&filehash=08ce25d3b83efc17e7462e06bc241d71



通过对比这三个文件,访问文件需要把fliename(文件名)MD5编码然后加上cookie_secret后再MD5编码。

1.经过测试发现可能模板注入:

//{{}}的用法

2.进一步测试:

datetime是指向python中的同名模块,用来快速访问对象,这里访问的是datetime.so

资料获取得知:cookie_secret在Application对象settings属性中

3.构造payload拿cookie_secret

4.然后计算filehash

5.成功拿下

PS:

1.Tornado入门教程

2.Tornado模板中的Handler

3.SSTI模板注入

最新文章

  1. C#4语法
  2. 在linux中访问virtualbox的共享文件夹
  3. JS - 超强大文本动画插件Textillate.js
  4. java中参数传递
  5. Tagged Pointers
  6. 测试的rtsp地址
  7. iOS中touches事件,addtarget ...action和GestureRecognizer详解
  8. mysql批量更新、多表更新、多表删除
  9. div+css3实现漂亮的多彩标签云,鼠标移动会有动画
  10. 李炎恢bootstarp_项目实战__瓢城企业(注释+源码)
  11. NVL函数(NVL,NVL2,NULLIF,COALESCE)
  12. 使用VirtualBox SDK之初步编译
  13. 传智播客成都校园php纪律指控
  14. uml的图与代码的转换——类图
  15. 原创:实现ehcache动态创建cache,以及超期判断的具体逻辑
  16. SSA-一种适合中小型企业的新型服务架构
  17. idea 工具中项目文件上有灰色的小X号去除方法
  18. topcoder srm 320 div1
  19. 宝塔Linux面板 概述
  20. Convert Expression to Reverse Polish Notation

热门文章

  1. [PyQt5]文件对话框QFileDialog的使用
  2. Quartz.Net系列(三):解读Quartz.Net源码领略设计模式在其中的应用
  3. 【JMeter_14】JMeter逻辑控制器__交替控制器<Interleave Controller>
  4. HTML中doctype的作用及几种类型详解
  5. 用python玩推理游戏还能掌握基础知识点,有趣又充实,你不试试吗?
  6. Spring boot+Mybatisplus用AR模式实现逻辑删除操作
  7. Golang实现数的几种遍历
  8. 图像处理中的valid卷积与same卷积
  9. QT槽函数获取信号发送对象
  10. Java CRC16 MODBUS校验算法实现