先说说后台getshell吧。
后台文件auth.php是设置授权码的地方,我们看其中有一个函数:
验证权限后,获得$_POST[auth],如果与现有的AUTH_CODE不相等,就把$_POST[auth]写进去。我们再来到set_config函数,看是怎么写的:
我们看到,这里设置define里用的是双引号,这样就有了任意代码执行的条件。
比如我们写{${phpinfo()}}试试:

显示“成功设置授权码”,那么,我们访问/core/config.php看看:

可以看到,已经执行了。
再加上mcms后台操作没有csrf token,所以可以通过csrf来拿shell。
将如下代码保存到js中,插入某页面,诱导管理员访问:
菜刀已经能连了,可以看到配置文件中,一句话已经安静地躺在那里了:
