记一次渗透测试
小透明yo 渗透测试 18154浏览 · 2019-11-13 01:29

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弱智一样,还好意思在评论问我为什么不行。发出来是为了学习,不是让你害我

7 条评论
某人
表情
可输入 255
1078288820783293
2023-11-22 10:16 内蒙古 0 回复

@小透明yo 留个联系方式问个问题付费


Xm17
2019-12-19 13:08 0 回复

文末这么一说 吓得我都不敢找这个cms了。、。。。


stay
2019-11-13 06:52 0 回复

我也有相似的站,但是没有管理员的登陆接口,不知道是我没找到还是根本就没有。。。


小透明yo
2019-11-13 03:08 0 回复

@daidailaiy**** thinkphp3.2.3使用原传参方式传入where可以使用数组进行注入,exp表达式没有过滤可以看下: http://www.f4ckweb.top/index.php/archives/62/


daidailaiy****
2019-11-13 02:40 0 回复

小弟想问一下这个exp有什么作用吗?


daidailaiy****
2019-11-13 02:36 0 回复

大佬,上面sql注入的语句小弟有点没看懂,能讲解一下吗,


c自白情书
2019-11-13 01:39 0 回复

前来学习