WMCTF 2021 ez piwigo(插件)

Posted bfengj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WMCTF 2021 ez piwigo(插件)相关的知识,希望对你有一定的参考价值。

前言

太难了。。。只会这一题。。。人已经做麻了呜呜。

ez piwigo

利用插件应该是非预期了,所以后来又出了个ez piwigo again

admin,admin登录后进admin.php后台。piwigo的版本是11.5.0,很新的版本,估计预期解是个0day了。。真就0dayctf呜呜呜。

LocalFiles Editor这是一个文件操作的插件,尝试直接编辑配置文件但是提示local目录不可写,所以没法直接利用插件来写马。后来又挖了这个插件的任意文件读取漏洞,但是发现读/flag读不到,拿了shell才知道还是权限问题,得/readflag才行,所以这个插件得任意文件读取就不说了,直接说shell。

也是在Jiang师傅的提示下才看到的,最容易忽略的地方:

function eval_syntax($code)
{
  $code = str_replace(array('<?php', '?>'), '', $code);
  if (function_exists('token_get_all'))
  {
    $b = 0;
    foreach (token_get_all($code) as $token)
    {
      if ('{' == $token) ++$b;
      else if ('}' == $token) --$b;
    }
    if ($b) return false;
    else
    {
      ob_start();
      $eval = eval('if(0){' . $code . '}');
      ob_end_clean();
      if ($eval === false) return false;
    }
  }
  return '<?php' . $code . '?>';
}

在编辑php文件的时候会检查语法是否错误,把<?php?>给置空后,把剩下的代码扔到这里然后执行执行:

eval('if(0){' . $code . '}');

所以直接执行就可以了:


以上是关于WMCTF 2021 ez piwigo(插件)的主要内容,如果未能解决你的问题,请参考以下文章

WMCTF 2021 pwn dy_maze writeup

WMCTF 2021 pwn dy_maze writeup

[WMCTF2021]Make PHP Great Again And Again

[WMCTF2020]Make PHP Great Again

云原生之Docker实战使用Docker部署Piwigo图片管理服务器

[PHP代码审计]Piwigo11.4.0存在SQL注入漏洞