【web | CTF】BUUCTF [护网杯 2018] easy_tornado

天命:这题是框架性的漏洞,Python的web服务器框架,应该已经比较古老了

开局先看一下三个文件

简单阅读后会发现,这里存在文件包含漏洞,可以直接读取文件,但是有一个哈希值校验

一开始我以为是扫描文件后得到的MD5值

哈哈哈,我想太多了,没这么高科技,只是文件名的MD5值罢了

那文件名我们得到了:/fllllllllllllag,参数加上MD5值就可以了

在hints.txt给出了MD5值的生成代码

但是有一个问题,cookie_secret 这个变量算是密钥了,里面的东西怎么来呢?

这时候我也要看WP才知道,原来是服务器框架的漏洞

来看看题目,再问问文心一言,巴拉巴拉一大堆,就是说Tornado框架中模板语法和一个配置参数,我们能通过模板语法把配置文件的参数打印出来,就能得到cookie_secret了

接着继续,只要你输错哈希值

你就能来到一个神奇的地方,这里就是存在模板语法漏洞的地方

套上模板语法就可以玩了,具体啥原理我也不太知道,这种老框架估计做完这题就不需要用了

输出的东西有点奇怪,但是能直接打印变量出来?

直接当成vue框架来玩,当成变量打印出来:msg={ {handler.settings}}

得到钥匙拼接两层MD5即可

from hashlib import md5

cookie_secret = '749b78e8-8946-40c3-a357-8927600a223f'
filename = '/fllllllllllllag'

MD5文件名 = md5(filename.encode()).hexdigest()

一半文件名 = cookie_secret + MD5文件名
payload = md5(一半文件名.encode()).hexdigest()

print(payload)

搞掂

相关推荐

  1. [强 2019]随便注

    2024-02-19 01:54:01       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-19 01:54:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-19 01:54:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-19 01:54:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-19 01:54:01       20 阅读

热门阅读

  1. Spatial Networks for Locations

    2024-02-19 01:54:01       25 阅读
  2. EMS5730 MapReduce program

    2024-02-19 01:54:01       30 阅读
  3. 文档分割和文档词向量化的几种实现方式

    2024-02-19 01:54:01       33 阅读
  4. go-zero/grpc的rpc服务间传递额外数据

    2024-02-19 01:54:01       39 阅读
  5. linux 中date 命令的用法

    2024-02-19 01:54:01       34 阅读
  6. MySQL正则表达式

    2024-02-19 01:54:01       36 阅读
  7. vue3-使用 Vue 的多种方式

    2024-02-19 01:54:01       29 阅读
  8. 2024年2月新加坡-马来西亚游-简记

    2024-02-19 01:54:01       32 阅读
  9. 学习Android的第十二天

    2024-02-19 01:54:01       31 阅读