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值。

当filename或filehash不匹配时,将会跳转到http://fe01b382-7935-4e50-8973-f09a31b53c8f.node1.buuoj.cn/error?msg=Error   页面.

所以想到需要获取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到手

posted @ 2020-03-04 20:39  ch0bits  阅读(326)  评论(0编辑  收藏  举报