某次无中生有的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注入漏洞,可导致数据库中数据泄漏. 而且在 ...
随机推荐
- 单机版kafka的安装
简单记录单机版kafka的安装:JDK1.8(jdk-8u131-linux-x64.rpm)zookeeper (zookeeper-3.4.10.tar.gz)kafka (kafka_2.12- ...
- 【洛谷 P2388 阶乘之乘】模拟
分析 求因数5的个数 AC代码 #include<iostream> using namespace std; int main() { long long n,t,ans=0,s=0; ...
- yaml 文件解析
前言 yaml文件其实也是一种配置文件类型,相比较ini,conf配置文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据,不会改变原有数据类型,所有的数据类型在读取时都会原样输出,yam ...
- windows 查看端口号,关闭端口进程
1.打开cmd,输入:netstat -ano | findstr 8080,根据端口号查找对应的PID.结果如下: 2.根据PID找进程名称,输入命令:tasklist | findstr 1789 ...
- English Study!
As you konw, education is a top priority for us ! When the times abandon you, they don't even call ...
- odoo源码学习之任务中的阶段字段stage_id
# 案例0004针对form表单 class Task(models.Model): _name = "project.task" _description = "对于项 ...
- 爬取千千小说 -- xpath
今天以其中一本小说为例,讲一下下载小说的主体部分,了解正常的爬取步骤,用到的是request和xpath. 爬取数据三步走:访问url -->爬取数据 -->保存数据 一.访问千千小说网址 ...
- 有语言基础的人应该如何学习python?
正好最近在学python,感觉有语言基础的话更多在乎一些语法糖,毕竟其他东西在之前应该接触过了. 笔者C++是起始语言,也接触过java.js,介绍一点python的特点吧.帮助自己巩固所学,也希望能 ...
- 如何选择数据分析工具?BI工具需要具备哪些功能?
数据分析使企业能够分析其所有数据(实时,历史,非结构化,结构化,定性),以识别模式并生成洞察力,以告知并在某些情况下使决策自动化,将数据情报与行动联系起来.当今最好的数据分析工具解决方案支持从访问.准 ...
- SpringBoot自动装配-源码分析
1. 简介 通过源码探究SpringBoot的自动装配功能. 2. 核心代码 2.1 启动类 我们都知道SpringBoot项目创建好后,会自动生成一个当前模块的启动类.如下: import org. ...