在源码之家发现这样一套源码http://guangzhou.mycodes.net/201410/3gcms2.0.rar
首先对框架目录大致了解一下。源码采用thinkphp2.1框架编写。
看了下网上公开的thinkphp的命令执行漏洞[size=;font-size:10.5000pt,10.5000pt]
$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\1\']=\'\2\';', implode($depr,$paths));
这里已经被修复了,按照这个原理搜索文件 发现在\Core\Mode\Lite目录下的Dispatcher.class.php代码存在执行漏洞,但是本程序并没有开启lite模式。无法利用
查看install.php文件看到$lock_file = dirname(FILE).'/install.lck';
定义了防重复安装的文件,但是在下面并没有判断该文件。 导致重装漏洞。
下面的思路很明确了 。
重装进后台然后getshell
黑盒看了下后台,在后台模版处是可以修改模板后缀名的。。导致getshell
有兴趣的可以跟上继续,如果我挖到新洞还会继续接着发