某次无中生有的getshell过程
0x01 写在前面
某次对目标的渗透中,发现了疑似前台上传漏洞,反复测试后无法成功利用,多方探寻最终成功getshell的过程。
0x02 信息收集
这次的目标是一个APP分发平台,对这一类的网站接触较少,事实上大都存在漏洞。
IPlocation:HK
环境:nginx + mysql + php
0x03 前台上传漏洞发现
打开首页,赫然发现登录与注册:

常规注册:

常规登录:

映入眼帘的便是一处上传,真是踏破铁鞋无觅处,安排!
我们先测试上传功能是否正常,先传个apk测试,当然了,这里不能没有我们的神器burp:


这个返回有点奇怪,是上传点的问题?还是检验了apk的真实性?为了验证答案,我们到应用宝随便下了个apk包,再次尝试:

成功传上去了,说明上传点是没有问题的,看下请求包:

与刚才上传失败的请求包没有太大的异同,说明刚才其实也是上传成功了,只是没解析出来apk应用。
我们继续,该祭出我们的shell了,直接php后缀走起:


不出所料,卡在了解析应用这个步骤,但是请求包是没有问题了,到这里顿时感觉有戏。
0x04 踩坑过程
webshell成功上传上去了,但是此时的我并没有露出猥琐的微笑,因为此时遇到了一个世纪难题,php传到哪去了?
遇事莫慌,还记得刚才上传的apk吗?我们查找apk的上传路径,再顺推出php的上传路径不就完事了吗。点击管理:


果然发现apk地址,顺便还发现了另一处上传点:

愉快得点击提取:


what?竟然是MD5命名,你绝对是在刚我!不慌,先复制出文件路径:
https://www.xxxxx.com/data/attachment/5b324d160ef9bc0a5843235e6ebf9fce.apk
这里我们只能盲猜MD5的加密方式了,想起返回包中有时间戳参数,难道就是时间戳MD5命名,尝试一下:



看来事情并没有那么简单!此时我们又心生一计,既然我不知道你的MD5加密方式,那我找到你的源码不就知道了吗?嗯哼,百度谷歌大法:

在各大搜索引擎搜索了app分发平台源码、零度云分发平台源码、囤主题分发源码等关键词后,发现源码大都需要付费下载。
这里并不是我们抠门,而是万一我们下载回来的源码和目标对应不上那我们不就损失大发了(其实还是抠_)。好在我们还是得到了一份免费的源码:

但是遗憾的是这个源码并没有/source/pack/upload/index-uplog.php,简单查看了index-uping.php的代码,发现并没有apk文件后缀的处理:

uplog.php也没有有用的发现:

此时我们还不能放弃,通过fofa搜索关键词,我们可以找到很多类似的模板,后面的工作就是通过批量扫描网站备份文件来获取源码了。

0x05 突破
在扫描了N个同类型模板备份文件后,依然没有获得我们想要的源码,正在苦恼之际,无意中点开同类型网站的一个robots:

EarCMS?踏破铁鞋无觅处,得来还挺费功夫!火速百度:

what?已经有相关的分析文章了,一秒十行的速度通读了全文,原来我们的shell躺着/data/tmp/下,名字竟然只是时间戳!!
火速测试:

诚不欺我!shell到手,上蚁剑:

打完收工。
0x06 写在最后
此次案例再次体现了信息收集的重要性!做好信息收集能让我们少走太多冤枉路。渗透的本质是信息收集~!
某次无中生有的getshell过程的更多相关文章
- GoldenEye靶机work_through暨CVE-2013-3630复现
前言 备考OSCP,所以接下来会做一系列的OSCP向靶机来练手 靶机描述 I recently got done creating an OSCP type vulnerable machine th ...
- VulnHub靶场渗透之:Gigachad
环境搭建 VulnHub是一个丰富的实战靶场集合,里面有许多有趣的实战靶机. 本次靶机介绍: http://www.vulnhub.com/entry/gigachad-1,657/ 下载靶机ova文 ...
- c++ primer plus 第6版 部分二 5- 8章
---恢复内容开始--- c++ primer plus 第6版 部分二 5- 章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...
- 简单记录一次getshell到进服务器的过程
通过st2命令执行上次木马进行getshell 查看whoami,发现权限是administrator,直接net user xxx xxx123.. /add,发现拒绝访问 通过命令tasklist ...
- Drupal 7.31SQL注入getshell漏洞利用详解及EXP
0x00 这个漏洞威力确实很大,而且Drupal用的也比较多,使用Fuzzing跑字典应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以我也就只是写个Exp不再深入下去. 0x0 ...
- 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- MIPCMS V3.1.0 远程写入配置文件Getshell过程分析(附批量getshell脚本)
作者:i春秋作家--F0rmat 0×01 前言 今天翻了下CNVD,看到了一个MIPCMS的远程代码执行漏洞,然后就去官网下载了这个版本的源码研究了下.看下整体的结构,用的是thinkPHP的架 ...
- Typecho反序列化导致前台 getshell 漏洞复现
Typecho反序列化导致前台 getshell 漏洞复现 漏洞描述: Typecho是一款快速建博客的程序,外观简洁,应用广泛.这次的漏洞通过install.php安装程序页面的反序列化函数,造成了 ...
- PHPCMS9.6.0最新版SQL注入和前台GETSHELL漏洞分析 (实验新课)
PHPCMS9.6.0最新版中,由于/modules/attachment/attachments.php的过滤函数的缺陷导致了可以绕过它的过滤机制形成SQL注入漏洞,可导致数据库中数据泄漏. 而且在 ...
随机推荐
- 《计算机组成与体系结构:性能设计》读后小记 12、CPU的结构和功能
一.CPU组成 1.组成: ALU:算术逻辑单元,完成数据的实际计算或处理 控制器:控制数据的移入移出CPU 寄存器:由一组存储位置极小的内部存储器组成 CPU内部总线:在各寄存器和ALU之间传送数据 ...
- 用swoole实现异步任务队列
应用场景如下: 假如要发100封邮件,for循环100遍,这种方法显然是不可取的. 在一些比较繁杂的业务里,我们很可能有超过1万的邮件要群发.那我们怎么处理这个延迟的问题? 答案就是用异步.把&quo ...
- Kotlin Coroutine(协程): 一、样例
@ 目录 前言 一.直接上例子 1.延时任务. 2.异步任务 3.并行任务: 4.定时任务: 总结 前言 你还在用 Hanlder + Message? 或者 AsyncTask? 你还在用 Rxja ...
- 使用Octotree插件在Edge上以树形结构浏览GitHub上的源码
先预览效果左侧的目录通过点击,就可以到达对应的源码位置. 首先点击打开Edge中的浏览器扩展在右上角...=>点击扩展=>点击获取Microsoft Edge扩展按钮=>在左侧搜索所 ...
- 修改vcenter的Administrator@vsphere.local密码
vsphere 忘记vcenter的Administrator@vsphere.local密码的解决办法 1.cd c:\Program Files\VMware\Infrastructure\VM ...
- spring中如何向一个单例bean中注入非单例bean
看到这个题目相信很多小伙伴都是懵懵的,平时我们的做法大都是下面的操作 @Component public class People{ @Autowired private Man man; } 这里如 ...
- python使用笔记23--面向对象编程
1.面向对象编程概念 面向对象是包含面向过程 面向过程编程 买车: 1.4s看车,买车 2.上保险 保险公司 3.交税 地税局 4.交管所 上牌 面向对象编程 卖车处: 1.4s 2.保险 3.交税 ...
- MAC系统如果碰到报错信息:sudo:command not found
** 一般要考虑最近是否有别人或者自己修改过环境变量,这种报错往往是因为环境变量设置错误导致的. ** 1. 首先要获得创建,或者是打开bash_profile的权限,请在命令行中输入: export ...
- [WPF] 使用 Visual Studio App Center 持续监视应用使用情况和问题
1. 什么是AppCenter Visual Studio App Center 是几个常见移动开发和云集成服务(如持续集成.持续交付和自动 UI 测试等服务)的集合. 这些 App Center 服 ...
- [刘阳Java]_Spring IOC程序代码如何编写_第3讲
第2讲我们介绍了Spring IOC的基本原理,这篇文章告诉大家Spring IOC程序代码是如何编写的,从而可以更好的理解IOC和DI的概念(所有的Java类的初始化工作扔给Spring框架,一个J ...