记一次渗透测试
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的控制器:
- login.php
- Ajax.php
- Dep.php
- 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弱智一样,还好意思在评论问我为什么不行。发出来是为了学习,不是让你害我
@小透明yo 留个联系方式问个问题付费
文末这么一说 吓得我都不敢找这个cms了。、。。。
我也有相似的站,但是没有管理员的登陆接口,不知道是我没找到还是根本就没有。。。
@daidailaiy**** thinkphp3.2.3使用原传参方式传入where可以使用数组进行注入,exp表达式没有过滤可以看下: http://www.f4ckweb.top/index.php/archives/62/
小弟想问一下这个exp有什么作用吗?
大佬,上面sql注入的语句小弟有点没看懂,能讲解一下吗,
前来学习