代码审计实战之系统重装漏洞
作者复现的是CscmsV4.1版本下系统重装页面过滤不严导致GetShell的简单案例,希望对你有帮助。 该漏洞是由于install.php由于过滤不严导致getshell 在Cscms/upload/plugins/sys/Install.php中第154行:
可以看到$dbname没有任何过滤,直接写入到配置文件Cscms\upload\cscms\config\sys\Cs_DB.php,这样就可以导致写入任意php代码。假设管理员在安装完cms时忘记将install.php删除,在重装时可能被利用获取webshell漏洞证明:在安装页面,我们可以将数据库名设置为cscms’);phpinfo();//
接着完成安装之后看到配置文件Cs_DB.php
访问