护网杯_2018_easy_tornado

[护网杯 2018]easy_tornado

0x00 过程

进页面发现三个路径:

flag路径告诉了真正的flag存在哪个地方。

点击hints发现提示:

发现url路径必须有正确的文件参数和哈希才能访问指定文件。而提示这里告诉了filehash的生成方法,但是cookie里翻了以下没有cookie_secret这个东西。

welcome路径发现提示render。

根据题目Toranado和render提示可以猜出,大概率是python tornado的模版注入。搜集相关资料发现,tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式。

题目中的报错页面是根据msg的输入来进行输出的,这里可以进行{{handler.settings}}模版注入:

有了cookie_secret,接下来就是顺理成章拿flag。这里就不着重叙述了。

0x01 参考

easy_tornado 1 | 洛冰河 (glacierluo.com)

python SSTI tornado render模板注入_multi4的博客-CSDN博客


护网杯_2018_easy_tornado
https://k1nm0.com/2022/10/23/EasyTornado/
作者
K1nm0
发布于
2022年10月23日
许可协议