在源码之家发现这样一套源码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

有兴趣的可以跟上继续,如果我挖到新洞还会继续接着发

源链接

Hacking more

...