打开后发现有三个文件依次点开
发现flag在fllllllllllllag里面,访问fllllllllllllag。发现报错
看到hints.txt发现MD5(cookie_secret+md5(filename))
得出fllllllllllllag=MD5(cookie_secret+md5(/fllllllllllllag))
也就是我们计算出MD5值就可以拿到flag,问题来了,如何知道cookie_secret值是多少,百度了一下发现报错页面存在着SSTI模板注入(知识有点短浅了)
传递参数发现可以回显,查阅Tornado官方文档。
发现cookie_secret在Application对象settings属性里,并且发现self.application.settings别名,handler指向的处理当前这个页面的RequestHandler对象,
RequestHandler.settings指向self.application.settings,
因此handler.settings指向RequestHandler.application.settings。
所以构造payload来获取cookie_secert
/error?msg={
{handler.settings}}
获取到cookie_secert值后,根据fllllllllllllag=MD5(cookie_secret+md5(/fllllllllllllag))
/fllllllllllllag的MD5值加上cookie_secert后的md5值
将获取的MD5值放进filehash里
http://111.200.241.244:49798/file?filename=/fllllllllllllag&filehash=81428e00e4af5e7acce52fdf328ad208
得到flag
本人菜鸟一枚,欢迎各位大佬私信指教