【安全漏洞】某CMS后台防护逻辑漏洞导致GETSHELL

源码:

https://cdn.jsdelivr.net/gh/seacms-net/CMS@master/SeaCMS.zip

→点击查看网络安全学习资料·攻略←

1.2000多本网络安全系列电子书
2.网络安全标准题库资料
3.项目源码
4.网络安全基础入门、Linux、web安全、攻防方面的视频
5.网络安全学习路线图

漏洞分析:

打开我们下载的源码
漏洞源头为“图片水印设置”功能,对应的源码文件为admin_config_mark.php
在这里插入图片描述
当我们后台使用图片设置功能时
在这里插入图片描述
点击提交之后,这里首先调用了admin_config_mark.php文件,而这个文件的开头加载了全局文件
在这里插入图片描述
继续跟进config.php,这个文件中又引入了common.php
在这里插入图片描述
继续跟进common.php文件
在这里插入图片描述
此时我们找到了最终加载的文件,而这个文件的功能是对全局的变量进行过滤防护。
在这里插入图片描述
这里最终调用的函数为_FilterAll
在这里插入图片描述
将参数传入之后,框架会对每个参数使用addslashes函数进行转义,原本我们传入1’变为了1’,接着来到admin/admin_config_mark.php文件

在这里插入图片描述

这里就出现了处理参数的逻辑错误。对全局转义过的参数又进行了一次替换操作,使用了str_replace函数将全部的单引号替换成了空,所以1’就变成了1,此时字符串进行了拼接。
然后紧着这把字符串写入了配置文件中
在这里插入图片描述
此时配置文件中写入的数据如下,这就导致了将原本的单引号转义掉了。此处我们就可以写入任意代码了。
在这里插入图片描述
最后

私我获取【网络安全技术学习资料·攻略

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>