BUUCTF-[护网杯 2018]easy_tornado
题目:
/flag.txt
flag in /fllllllllllllag
/welcome.txt
render
/hints.txt
md5(cookie_secret+md5(filename))
如上,页面下面三个目录,进去以后给了三个提示
我们要知道cookie_secret的值,百度render+tornado,知道render是tornado框架的一个函数,且存在注入:https://www.cnblogs.com/cimuhuashuimu/p/11544455.html
render是python的一个模板,他们的url都是由filename和filehash组成,filehash即为他们filename的md5值。
所以想到需要获取cookie_secret来得到filehash
页面返回的由msg的值决定,修改msg的值形成注入,获得环境变量:error?msg={{handler.settings}}
读取cookie_secret:
按照提示算md5:
http://0bd1cb12-f23b-4ca7-9691-96b8c30f417b.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=e6c67aa6c62c654fb8b1fd76e4f3a99b
为什么这样构造payload?你仔细观察之前访问页面的url就知道了
最后flag到手
[Sign]做不出ctf题的时候很痛苦,你只能眼睁睁看着其他人领先你