0x01 信息收集:

打开网页后,网站长这样:

随便进个网页:
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,看看有没有后台:

果然是这个路由,并且还得知了目标后台管理框架。

0x02 代码审计:

既然得知了目标后台使用的框架,所以我直接下载了回来。直接进入Admin的控制器:

我看了代码直接发现控制器会继承至两个类,分别为:Controller、AuthController

其中 AuthController 需要身份认证,Controller不需要,所以我们只能找继承至Controller的控制器:

  1. login.php
  2. Ajax.php
  3. Dep.php
  4. Empty.php

理清思路后大概花了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);
    }

0x03 利用漏洞:


没有任何WAF,一马平川,直接上sqlmap:

0x04 Getshell:

Getshell的思路也很简单,php+iis7.5,可以直接用fastcgi的解析漏洞,我只需要找到一个上传图片的点就可以了。过于简单,就不贴图了。

0x05 后记:

某些傻逼不要去复现,OK?和NM弱智一样,还好意思在评论问我为什么不行。发出来是为了学习,不是让你害我

点击收藏 | 2 关注 | 3
登录 后跟帖