打开网页后,网站长这样:
随便进个网页:
url:http://www.*.com/index.php/Home/News/lists/c_id/12.html
Emmmm,熟悉的URL,盲猜目标为ThinkPHP,改下URL:
url:http://www.*.com/index.php/User/News/lists/c_id/12.html
还真是thinkphp,3.2.3,在thinkphp中可以查看日志文件来进行渗透,有的程序会将cookie写入日志,日志目录为runtime,但是这个站并不存在runtime:
但是审这么久的代码也没白审,路由还是会猜的,单入口模式可以直接在index.php后面加admin,看看有没有后台:
果然是这个路由,并且还得知了目标后台管理框架。
既然得知了目标后台使用的框架,所以我直接下载了回来。直接进入Admin的控制器:
我看了代码直接发现控制器会继承至两个类,分别为:Controller、AuthController
其中 AuthController 需要身份认证,Controller不需要,所以我们只能找继承至Controller的控制器:
理清思路后大概花了2分钟的时间在 AjaxController.class.php 找到了一处无条件注入:
public function getRegion(){
$Region=M("region");
$map['pid']=$_REQUEST["pid"];
$map['type']=$_REQUEST["type"];
$list=$Region->where($map)->select();
echo json_encode($list);
}
没有任何WAF,一马平川,直接上sqlmap:
Getshell的思路也很简单,php+iis7.5,可以直接用fastcgi的解析漏洞,我只需要找到一个上传图片的点就可以了。过于简单,就不贴图了。